Поиск значения Javascript 2D Arrays - PullRequest
0 голосов
/ 03 мая 2018

Вот мой объект javascript-

var test=[
            [
                {book:"A"},
                {book:"B"}
            ]
          ]

В этом объекте, если я хочу проверить, существует ли объект со значением "C" или нет, как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Моя попытка будет:

let hasC = false;
for (let arr of test) {
  const obj = arr.find(b => b.book === 'C')
  if(obj) {
    hasC = true;
    break;
  }
}

console.log('does test has a book "C"? ', hasC);
0 голосов
/ 03 мая 2018

Вы можете использовать вложенный Array#some и проверить снова значение.

var test = [[{ book: 'A' }, { book: 'B' }]],
    check = 'c';
    
console.log(test.some(a => a.some(({ book }) => book === check))); // false
console.log(test.some(a => a.some(({ book }) => book === 'A')));   // true
...