我在数组中有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;
    }
}

最佳答案

您应该将分配移到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;
}

07-25 23:43