LINUX.ORG.RU

Фильтр данных по условиям в массиве

 


0

1

Есть вот такая коллекция:

{a: 1, b: 'x'}
{a: 1, b: 'y'}
{a: 3, b: 'z'}

Хочу фильтровать ее, используя такой массив:

[{a: 1, b:'y'}, {a: 3, b:'z'}]

Т.е. в результате должно остаться только:

{a: 1, b: 'x'}

Подскажите, как такое правильно делать?

★★★★★

В итоге остановился на том, что руками делаю query примерно так:

const arr = [{a: 1, b:'y'}, {a: 3, b:'z'}];
const filter = arr.map((i) => {
  return {
    $or: [
      {a: {$ne: i.a}},
      {b: {$ne: i.b}},
    ],
  };
});
const query = {$and: filter};

ostin ★★★★★
() автор топика

Я мимокрокодил, но как у тебя такой результат получился? Какое условие фильтра? «не каждый из массива»?

bvn13 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.