我在数组中有3个对象,我想要添加ifContrbtd:false
的第一个对象和我要添加ifContrbtd:true
的剩余2个对象。我尝试过如下但是它将ifContrbtd:true
添加到第二个和第三个对象,没有任何内容添加到第一个对象。
for (var key in res.result) {
var ifContributed = false;
if(res.result[key].newField != undefined){
ifContributed = true;
res.result[key]['ifContrbtd']=ifContributed;
}
}
答案 0 :(得分:2)
您应该将分配移到if
条件之外,以便为ifContributed = false
的对象分配newField
。现在,如果定义了什么,将不会有任何限制:
for (var key in res.result) {
var ifContributed = false;
if (res.result[key].newField != undefined) {
ifContributed = true;
}
res.result[key]['ifContrbtd'] = ifContributed;
}
答案 1 :(得分:0)
你必须在if语句不在其中之后将赋值给res.result [key] [' ifContrbtd']。
只需3行就可以解决您的问题:
for (var key in res.result) {
var ifContributed = (res.result[key].newField != undefined);
res.result[key]['ifContrbtd'] = ifContributed;
}