Этот вопрос закрыт для ответов, так как повторяет вопрос Как проверить, есть ли у массивов общие элементы?
@Lodoas

Как проверить, что некоторые элемента одного массива есть в другом?

Хотел попробовать так. По идеи это должно вернуть true или false. Но возвращает Uncaught TypeError: array.contains is not a function.

В чем ошибка?

let array = [0, 5, 3, true, 'pr', 1, 9, undefined];
let falsey = [0, '', NaN];

console.log(array.contains(falsey));
  • Вопрос задан
  • 141 просмотр
Решения вопроса 2
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
array.some(i => falsey.includes(i))
Ответ написан
zkrvndm
@zkrvndm
Архитектор решений
Я не считаю себя знатоком JS, но что-то я не слышал про функцию .contains()
Если вам нужен просто результат, вы можете банально перебрать свой массив в лоб:
// Функция для сравнения массивов:
function arrayCompare(arg1, arg2) {
	var result = false;
	for (var n = 0; n < arg1.length; n++) {
		for (var i = 0; i < arg2.length; i++) {
			if (arg1[n] === arg2[i]) { result = true; }
		}
	}
	return result;
}

// Вернёт true, если есть хотя бы одно точное совпадение,
// если совпадений совсем нет, то вернет false:
console.log(arrayCompare(array, falsey));

Я на 100% уверен, что существуют специальные хитрые алгоритмы перебора, которые могу дать результаты с меньшими затратами ресурсов, чем полный перебор, но для небольших массивов вам за глаза хватит.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы