Почему это все время возвращает false?
var a = new String("17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site inspection><0.55><1,Mileage").trim();
var b = new String("17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site Inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site Inspection><0.55><1,Mileage").trim();
if (a === b){
return true;
} else {
return false;
}
Это одна и та же струна!
Я видел ответы на другие вопросы с помощью метода trim(), но у меня он не работает. Как будто где-то в строках есть скрытые символы, которые я не вижу. Но когда я проверяю длину, они оба имеют длину 255 символов.
@RandyCasburn Нет, trim() не возвращает объект
Потому что в строках разные! должен быть какой-то невидимый символ/другая кодировка.
@Bergi - я не прокручивал :-/
Не создавайте строки с помощью конструктора String. В этом нет необходимости.
Это Inspection против inspection, невидимого символа нет, только заглавная и строчная i.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


It's the same string!
Нет, это не так. Посмотрите внимательно:
"17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site inspection><0.55><1,Mileage"
"17-0069,,Alex Libengood,Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC,Site Inspection,,0.55,/mile,0,miles,,1,17-0069><><Alex Libengood><Travel from - Meadors Office - to - 201 Hildebrand Dr, Bonneau SC><Site Inspection><0.55><1,Mileage"
^ ^
Это не скрытые символы, это просто разные случаи i/I. Найдено с
for (let i=0; i<255; i++) if (a[i] != b[i]) console.info(i, a[i], b[i])
Ну, это смущает :0 Я думал, что проверял это раз 15, и до сих пор этого не видел. Тем не менее, этот фрагмент кода является хорошей идеей для проверки. Спасибо @Bergi!
Символы строки одинаковы, но эти символы хранятся в разных Строковые объекты, которые не эквивалентны.