我需要一个代码,该代码将循环遍历对象数组并检查键和值是否与单独对象中的键和值匹配,然后将包含所有键和值的对象推送到新数组中,因此对于特定情况:
var arr = [{name: 'john', lastname: 'roberts', children: 3},
{name: 'john', lastname: 'green', children: null},
{name: 'steve', lastname: 'baker', children: 3}];
var obj = {name: 'john', children: 3};
结果将是:
arr2 = [{name: 'john', lastname: 'roberts', children: 3}];
最佳答案
扩展@Psidom版本
var arr = [{name: 'john', lastname: 'roberts', children: 3},
{name: 'john', lastname: 'green', children: null},
{name: 'steve', lastname: 'baker', children: 3}];
var obj = {name: 'john', children: 3};
console.log(
arr.filter(x => Object.keys(obj).every( k => x[k] == obj[k]))
);
关于javascript - 如何在对象数组中找到一个对象的所有匹配键和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45203931/