我有两个用于不同目的的父对象。
对象1 - 用于标识该键的布尔值
对象2 - 包含要使用的实际数据
我正在尝试做的事情:对两个对象的名称进行匹配,
if item3(object1)'s name === item3(object2)'s name
if item3(object1) === true
item3(object2)'s value ++
else return;
是否可以获取对象名称并运行比较?或者有更好的方法吗?
答案 0 :(得分:1)
如果我正确理解了您要查找的内容,您希望增加其中一个对象2子对象中的值(如果它存在于对象1中),并且它是Object.keys()
。< / p>
您可以使用Array.prototype.forEach()
获取密钥数组,然后使用Object.keys(Object2).forEach((key) => Object1[key] && (Object2[key] += 1));
进行迭代:
const Object1 = { item2: false, item3: true, item5: true};
const Object2 = {
item1: {
name: 'PC',
value: 0
},
item2: {
name: 'Hackintosh',
value: 0
},
item3: {
name: 'MAC',
value: 15.3
},
item4: {
name: 'Linux',
value: 0
},
item5: {
name: 'Android',
value: 11.4
}
};
Object.keys(Object2).forEach((key) => Object1[key] && (Object2[key].value += 1));
console.log(Object2);
Dim NewItem As New ListViewItem
NewItem.Text = "My Item"
NewItem.SubItems.Add(mydate.tostring("yyyy-MM-dd"))
ListView1.Items.Add(NewItem)
&#13;