@raw1

Как найти совпадения в массивах разной длинны?

Есть 2 массива разной длинны требуется найти совпадение и в случая нахождения данного совпадения программа должна дальше их искать
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
@antonowano
Профессиональный самоучка
var ar1 = ['white', 'red', 'black', 'orange'];
var ar2 = ['white', 'black'];
var res = [];
var res2 = [];

for (var i = 0; i < ar1.length; i++) {
    if ( ar2.indexOf(ar1[i]) !== -1 ) {
        res[res.length] = ar1[i];
    }
}

// или

for (var i = 0; i < ar1.length; i++) {
    for (var j = 0; j < ar2.length; j++) {
        if (ar1[i] == ar2[j]) {
            res2[res2.length] = ar1[i];
        }
    }
}

alert(res);
alert(res2);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@dev400
Сравнивайте в цикле
Ответ написан
evgeniy8705
@evgeniy8705
Повелитель вселенной
В данных примерах ответ будет содержать только уникальные значения совпадений. Если нужно отображать все, включая повторные совпадения одних и тех же значений, то смотрите решение выше

let arr1 = ["Alex", "Nick", "John", "Sasha", "Bill", "Donald", "Pit"];
let arr2 = ["Nick", "Bill", "Alex", "Masha", "Pasha", "Pit"];
let obj = {};

for (let i = 0; i < arr1.length; i += 1) {
	for (let j = 0; j < arr2.length; j += 1) {
		if (arr1[i] === arr2[j]) {
			obj[arr1[i]] = true;
		}
	}
}

// Или так

// for (let i = 0; i < arr1.length; i += 1) {
// 	if (arr2.includes(arr1[i])) {
//   	obj[arr1[i]] = true;
//   }
// }

console.log(Object.keys(obj)); // ["Alex", "Nick", "Bill", "Pit"]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы