есть 3 массива. Каким лучше способом пройтись по всему объекту и удалить все объекты, в полях которых встречаются указанные в массиве слова?
const obj = [
{
id: 1,
name: 'Ivan',
groups: [{id: 541, name: 'Users'}, {id: 541, name: 'Guest'}],
templates: [{id: 55, title: 'Linux'}, {id: 31, name: 'SQL'}],
main: {id: 1, name: 'Cat'}
},
{
id: 2,
name: 'Julia',
groups: [{id: 541, name: 'Users'}, {id: 1, name: 'Admin'}],
templates: [{id: 55, title: 'Linux'}, {id: 31, name: 'Windows'}],
main: {id: 2, name: 'Dog'}
},
{
id: 3,
name: 'Sergei',
groups: [{id: 541, name: 'Users'}, {id: 541, name: 'Guest'}],
templates: [{id: 55, title: 'Linux'}, {id: 31, name: 'SQL'}],
main: {id: 1, name: 'Fish'}
},
{
id: 4,
name: 'Steave',
groups: [{id: 4, name: 'Ban'}, {id: 6, name: 'Player'}],
templates: [{id: 55, title: 'Mac'}, {id: 31, name: 'Redis'}],
main: {id: 1, name: 'Rabbit'}
},
...
]
const main = ['cat', 'dog']
const group = ['player']
const temaplets = ['Mac']
codepen.com, pastebin.com, jsfiddle Прост на будущее Ну или красиво оформленный скриншот
имена переменных никак не связаны с ключами объекта, создай объект где будут ключи main, group, templates
Меня больше интересует механизм перебора какой оптимальнее
типичный filter так как дело обстоит с массивом объектов
Но внутри фильтра мне придётся итерировать ещё мои массивы с исключениями
Так как сделал в итоге?
https://codesandbox.io/s/cool-wilbur-yslzu?file=/src/index.js
Обсуждают сегодня