вернуть true, если переданный элемент присутствует во всех массивах внутри arrayOfArrays - PullRequest
0 голосов
/ 15 мая 2019

У меня проблемы с проверкой наличия элемента во всех массивах внутри arrayOfArrays.

Я пытаюсь использовать метод includes для решения этой проблемы, как показано ниже:

function isItemHere(arrayOfArrays, item) {
  return arrayOfArrays.includes(item);
}

Однако это не работает.

Ответы [ 2 ]

2 голосов
/ 15 мая 2019

Для одного 1D массива ваш код будет работать. Но для 2D-массива вы можете использовать every()

arrayOfArrays.every(x => x.includes(item));
1 голос
/ 15 мая 2019

Использование только includes не сработает, так как myArray.includes(item) проверяет, существует ли item хотя бы один раз в myArray ( не в каждом дочернем элементе myArray).Если у вас есть массив массивов, вам нужно запустить includes для каждого элемента в вашем массиве.

Это можно сделать с помощью функции every в сочетании с функцией includes, например, так:

function isItemOmnipresent(arrayOfArrays, item) {
  // return true if the passed item is present in all the arrays inside arrayOfArrays
  return arrayOfArrays.every(childArray => childArray.includes(item));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...