Сортировка на основе локали в Javascript, сортировка акцентированных букв и других вариантов заранее определенным способом

По фински мы сортируемW послеV (как на английском) но потому чтоW это не родное финское письмо, оно рассматривается как вариантVкоторый отсортирован как бы равнымV, но в тех случаях, когда единственное различие между двумя словами заключается в том, чтоV являетсяW, затемV-версия сортируется первой. Пример освещает правильный порядок:

Vatanen, Watanen, Virtanen

По финскиV а такжеW сопоставлены какA а такжеÁ. Á сортируется какA, но в тех случаях, когда это единственное отличие, первоочередной является безударная. То же правило для всех других акцентированных букв, ноÅ, Ä а такжеÖ сопоставляются отдельно после Z.

Question: What would be the best algorithm to sort this like variants in a predefined way? (например,[Watanen, Vatanen, Virtanen] в[Vatanen, Watanen, Virtanen] )?

Дополнение: вопрос актуален для охвата и других вариантов в том виде, как они определены вhttp://cldr.unicode.org/index/cldr-spec/collation-guidelinesпоскольку метод с большой вероятностью будет таким же, а ответы на этот вопрос будут полезны для максимально широкой аудитории, и алгоритмы сортировки можно будет совместить с правилами сопоставления, определенными в Unicode CLDR. Unicode CLDR определяет три уровня различий между буквами: первичный уровень (базовые буквы), вторичный уровень (акцентированные буквы) и третичный уровень (регистр символов).

Я думал какой-тоarray preparation как в числовой сортировке, где мы можем заполнить все числа нулями, чтобы сделать их сопоставимыми в виде строк. Пример: массив[file1000.jpg, file3.jpg, file22.jpg] может бытьprepared чтобы сделать его сопоставимым со строками, заполнив его нулями следующим образом:[file1000.jpg, file0003.jpg, file0022.jpg], Потому чтоpreparation массива, мы можем отсортировать его очень быстро используя встроенный Array.sort ().

Целевым языком является Javascript, в котором отсутствует поддержка сортировок на основе сортировки, поэтому пользовательская функция сортировки должна быть сделана самостоятельно. Алгоритм является предпочтительным, но если у вас также есть код, он стоит +1.

Ответы на вопрос(5)

Ваш ответ на вопрос