Вот еще один способ достижения того же результата:
Если структура объекта ранее не была известна, т. Е. Когда они динамически меняются, из API или чего-то еще, вы можете использовать следующее решение
let arr = [
{'name': 'max', 'age': '20'},
{'name': 'max', 'age': '21'},
{'name': 'jane', 'age': '22'}
];
let x = {'name': 'max', 'age': '20'};
let result =arr.map( ele => JSON.stringify(ele)).includes(JSON.stringify(x));
console.log(result)
Приведенное выше решение будет работать и для вложенных объектов.
Примечание Решение имеет два предостережения
- Это работает при условии, что порядок ваших ключей остается постоянным по всему массиву также и в объекте
x
, который вы хотите сравнить - Если в ваших объектах слишком много вложенности, тогда онбудет очень медленноЯ не буду рекомендовать JSON.stringify для тех, кто заботится о производительности.
Редактировать 1
Не работает с круговыми структурами