假设我有这两个实体
const obj1 = {key1: "", key2: "", key3: ""};
const array2 = [
{
name: "key1",
}]
如何检查array2
是否有一个对象,其名称为obj1
中的每个字段?
基本上我想以数组2结束:
const array2 = [
{
name: "key1",
},
{
name: "key2",
},
{
name: "key3",
}]
答案 0 :(得分:1)
像这样吗?
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;
}
}