@yavaskript

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

Как проверить, находится ли в двумерном массиве
var array = [ [45, 4],  [21, 81], [1, 33], [20, 14] ]

другой подмассив? Например, [21, 81]?
  • Вопрос задан
  • 740 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Сделаем функцию, которая проверяет равенство содержимого двух массивов - сравниваем длины, затем проверяем, что каждый элемент одного массива равен элементу с тем же индексом в другом массиве:

const isEqual = (a, b) =>
  a.length === b.length && a.every((n, i) => Object.is(n, b[i]));

Теперь, чтобы проверить наличие массива в массиве массивов надо убедиться, что функция выдаст положительный результат при сравнении первого с любым из элементов второго. Можно тоже оформить как отдельную функцию:

const includes = (arrs, search) =>
  arrs.some(n => isEqual(n, search));

Всё: console.log(includes(array, [ 21, 81 ]));.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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