При выполнении команды ==
между двумя равными строками я получаю возвращаемое значение false.
Следующий код:
где-то в коде:
Arr.prod.push({
"id" : product.id,
"nameProd" : product.name
});
В другом локальном коде:
var id;
for(i in Arr.prod){
if( $.trim(str) == $.trim(Arr.prod[i].nameProd)){
id = Arr.prod[i].id;
break;
}
}
, когда i = 3
, значение Array.prod[i].nameProd
равно значению str
.Эти переменные имеют следующие значения: «DVD-плеер Automotivo CED229X - Tela 3, USB-интерфейс Entrada, откидная крышка Entrada SD e Controle Remoto - Philips - Philips - Americ ...».Но сравнение всегда возвращает false.
Что не так?
РЕДАКТИРОВАТЬ
добавление кода для итерации:
console.log( 'str = ' + $.trim(str).toLowerCase(), ', item = ' +
$.trim(Arr.prod[i].nameProd).toLowerCase(), 'result = ' +
($.trim(str).toLowerCase() == $.trim(Arr.prod[i].nameProd).toLowerCase()));
РЕЗУЛЬТАТ
str = DVD-проигрыватель automotivo ced229x - tela 3 '', вход USB фронтальный, вход Entrada SD опрокидывается и управляется удаленно ..., item = tv 46 "ledfull hd (1920 x 1080 пикселей) - 46pfl7606d / 78 - интеллектуальное телевидение ambilight spectra 2, онлайн-телевидение, c ... result = false
str = DVD-плеер automotivo ced229x - tela 3 '', entrada usb frontal, entrada sd переворачивается и управляется удаленно ..., item = домашний кинотеатр c / dvd - 250 w rms, hdmi, divx, usb - hts3510 / 78 - philips - philips - americanas.com.br результат = false
str = DVD-плеер, автомобильный ced229x - tela 3 '', entrada USB фронтальный, entrada sd, переверните электронное управление remot ..., item = ноутбук hp result = false
str = DVD-плеер автомобильный ced229x - tela3 '', entrada USB фронтальный, entrada sd перевернуть e control control remot ..., item = tenis rebook result = false
str = dvd-плеер automotivo ced229x - tela 3 '', entrada usb frontal, entrada sd опускается и контролирует remot ..., item = dvd player autovtivo ced229x - tela 3 '', entrada usb frontal,entrada sd перевернуть e controlrol remot ... result = false
Последнее сравнение должно быть верным
посмотрите это
console.log('str : ' + escape(str));
console.log('arr : ' + escape(Arr.prod[i].nameProd)));
РЕЗУЛЬТАТ:
str : DVD%20Player%20Automotivo%20CED229X%20-%20Tela%203%27%27%2C%20Entrada%20USB%20Frontal%2C%20Entrada%20SD%20Flip%20Down%20e%20Controle%20Remot%20...
arr : DVD%20Player%20Automotivo%20CED229X%20-%20Tela%203%27%27%2C%20Entrada%20USB%20Frontal%2C%20Entrada%20SD%20Flip%20Down%A0e%20Controle%20Remot%20...
присмотреть слово «вниз» в 2 логах:
В str содержит% 20e%, так как в arr содержит% A0e%.
Чтопроисходит?
Спасибо.