Скажем, у меня есть два массива объектов.Например,
var name = [
{ name : 'john' },
{ name : 'doe' }
]
var name2 = [
{ name : 'john' },
{ name : 'does' }
]
И я хочу проверить, совпадает ли имя в первом массиве с именем во втором массиве, и вернуть ответ.Я сделаю это ниже
for(var i = 0; i < name.length; i++) {
for(var j = 0; j < name2.length; j++) {
if(name[i].name === name2[j].name) {
console.log('good')
} else {
console.log('bad');
}
}
}
Приведенный выше код даст следующий результат
good
bad
bad
bad
Как получить тот же результат без использования вложенного цикла for?
Я пытался использовать forEach
для циклического прохождения сразу.Как
name.forEach(function(value, index) {
if(value.name === name2[index].name) {
console.log('good');
}
console.log('bad')
});
Но это не работает и создает проблемы, когда они являются массивами различной длины.
Все мои исследования приводят к использованию filter
, map
, reduce
... методы.Я хочу добиться этого, используя только for
петли.Спасибо.