Что выведет код Middle Типы и приведение обновлено
Сравнение строк
Вопрос
Что выведет код? По строке на каждый вывод.
console.log(['б', 'а', 'ё', 'е'].sort().join(','));
console.log(['б', 'а', 'ё', 'е'].sort((x, y) => x.localeCompare(y, 'ru')).join(','));
console.log('a' < 'B');
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: а,б,е,ё, а,б,е,ё, false. Почему так Сравнение по кодам ставит все заглавные раньше строчных и ломает алфавит для кириллицы.
Что выведет
а,б,е,ё
а,б,е,ё
false
Разбор
Почему так
Сравнение по кодам ставит все заглавные раньше строчных и ломает алфавит для кириллицы. Для пользовательских списков нужен localeCompare с локалью или Intl.Collator.
Вывод
а,б,е,ё
а,б,е,ё
false
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.