Функция localeCompare()
не ведет себя одинаково в основном коде расширения Firefox и в веб-рабочем (или хромированном рабочем).
Например, в главном коде у меня есть этот код:
var array = ["École", "Frère", "frère", "école"];
array.sort(function(a, b) {
return a.localeCompare(b);
});
console.log('Main: ' + array);
он показывает:
Main: �cole,�cole,Fr�re,fr�re
Какая правильная сортировка (кодировка не является моей проблемой).
В рабочем случае у меня есть этот код:
var array = ["École", "Frère", "frère", "école"];
array.sort(function(a, b) {
return a.localeCompare(b);
});
self.postMessage(array);
он печатает:
Frère,frère,école,�0cole
который находится в неправильном порядке (еще раз, кодирование не является моей проблемой).
Сортировка в основном коде в порядке, но не в веб-работнике.
Я попытался изменить параметры функции localeCompare()
в веб-работнике, но ничего не изменил.
Почему сортировка отличается от веб-работника и как ее правильно использовать в веб-работнике?
(По какой-то причине я не мог отправить данные в основной код, выполнить сортировку и отправить ее веб-работнику. У меня все еще есть неправильный порядок (дает мне école,�0cole,Frère,frère
).)
Спасибо за вашу помощь.