Задать вопрос
@olya_097

Почему когда compare изменить на что-то другое, то код не работает?

var animals = ["тигр", "ёж", "енот", "ехидна", "АИСТ", "ЯК"];

var collator = new Intl.Collator();
animals.sort(function(a, b) {
  return collator.compare(a, b);
});

alert( animals ); // АИСТ,ёж,енот,ехидна,тигр,ЯК
  • Вопрос задан
  • 140 просмотров
Подписаться 1 Простой 14 комментариев
Решения вопроса 1
AnatolTh
@AnatolTh
Full Stack Developer
Потому что экземпляры Collator наследуют только одно свойство из своего прототипа:

Intl.Collator.prototype.compare
Геттер; возвращает функцию, сравнивающую две строки согласно порядку сортировки этого объекта Collator.

И только один метод:

Intl.Collator.prototype.resolvedOptions()
Возвращает новый объект со свойствами, отражающими локаль и опции сравнения строк, вычисленные при инициализации объекта.

По этому пользоваться можно только compare и resolvedOptions().

Либо можете добавлять свои свойства/методы
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы