НЕ сравниваются 2 элемента массива
Почему 0 и 1 элемент массива равен false? На вход функции получил строку, затем превратил его в массив. Пытаюсь сравнить нулевой и первый элемент равен false, а 2 и 3 равен true
function strYesORno(str){
str = str.split('');
str.sort();
console.log(str);//["A", "А", "Б", "Б"]
console.log(str[0] === str[1]);//false
console.log(str[2] === str[3]);//true
}
strYesORno('АББA');
Ответы (1 шт):
Автор решения: dkotenko
→ Ссылка
Как верно заметили в комментариях, у вас смешаны русские и латинские символы. Для визуального сравнения значений в массиве можно использовать код:
console.log(new TextEncoder().encode(str).toString())
Для строки "AАББ" будет вывод:
"65,208,144,208,145,208,145"
Стоит помнить, что буквенные символы в UTF-8 имеют размер 2 байта, поэтому на каждый символ в массиве приходится 2 числа