假设我有这两个实体const obj1 = {key1: "", key2: "", key3: ""};const array2 = [ { name: "key1", }]如何检查是否array2有一个对象具有每个字段的名称obj1?基本上我想以数组 2 变成这样结束:const array2 = [ { name: "key1", },{ name: "key2", },{ name: "key3", }]
1 回答

慕田峪9158850
TA贡献1794条经验 获得超8个赞
是这样的吗?
const obj1 = {
key1: "",
key2: "",
key3: ""
};
const array2 = [{
name: "key1",
}, {
name: "key2",
}];
const obj1Keys = Object.keys(obj1);
const array2KeyNames = array2.reduce((array2KeyNames, obj) => {
array2KeyNames.push(obj.name);
return array2KeyNames;
}, []);
for (let i = 0; i < obj1Keys.length; i++) {
if (!array2KeyNames.includes(obj1Keys[i])) {
console.log(obj1Keys[i], ' is not in the array2');
break;
}
}
添加回答
举报
0/150
提交
取消