Страницы

Поиск по вопросам

воскресенье, 7 июля 2019 г.

Как сравнить отдельно объекты двух массивов

Есть 2 массива с именами и ценами некоторых предметов (x и ItemPrice). Для того чтобы у меня были отдельно имена двух массивов, сделал для обоих такие циклы:
for (i = 0; i < x.length; i++){ names = x[i]; name = names.custom_market_name; }
for (i = 0; i< ItemPrice.length; i++){ namess = ItemPrice[i]; namex = namess.market_name; }
Теперь мне их нужно отдельно последовательно сравнить(имена одного с именами другого массива). Я пытался сделать это такой функцией:
function OnGoPressed(){ var ln1 = namex.length, ln2 = name.length; for (var i = 0; i < ln1; ++i){ cache = namex[i]; for (var j = 0; j < ln2; ++j){ if (cache == name[j]){ console.log('найдено совпадение: ' + cache); break; } } } }
но результата 0.


Ответ

Ваши переменные name и namex - это не массивы, а имена последних элементов в соответствующих массивах.
var namesX = x.map(function(item){ return item.custom_market_name; }); var namesIP = ItemPrice.map(function(item){ return item.market_name; });
for (var i = 0; i < namesX.length; i++) { if (namesIP.indexOf(namesX[i]) != -1) console.log('найдено совпадение: ' + namesX[i]); }

Комментариев нет:

Отправить комментарий