假设我有一个像这样的对象(这里可能有很多项目);
myObject:{
item1: {
visible: true;
},
item2: {
visible: true;
},
item3: {
visible: false;
},
}
然后是一个像这样的对象数组(这里可能有很多项目);
var objs = [
{ name: 'item1', visible: false },
{ name: 'item2', visible: false },
{ name: 'item3', visible: false }
];
如何迭代对象并仅在名称匹配时将可见值分配给数组 - 如果对象中的 Item1 是visible: false
,那么数组中的 item1 必须反射(reflect)这一点
最佳答案
最有效的方法是循环遍历数组,因为只需迭代数组一次。
const myObject = {
item1: {
visible: true
},
item2: {
visible: true
},
item3: {
visible: false
}
};
var objs = [
{ name: 'item1', visible: false },
{ name: 'item2', visible: false },
{ name: 'item3', visible: false }
];
objs.forEach(obj => {
const property = myObject[obj.name];
if (property) {
obj.visible = property.visible;
}
});
console.log(objs);
关于javascript - 如果满足某些条件,则循环对象并为对象数组赋值 - vanilla JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53054569/