我正在尝试从后台获取数据并验证它是否存在于另一个表中,因此我为包含验证结果的数组的每一行添加一个名为“validation”的值。 问题是每次它将值添加到数组的另一行,但我想将其添加到行
详细信息:
testobj() {
for (var i = 0; i < this.listObj.length; i++) {
console.log(this.listObj[i].id_obj_ser);
this.etudiant.getobjectifvalidation(this.listObj[i].id_obj_ser, this.cin).subscribe((data: any) => {
if (data.length != 0) {
console.log(data);
console.log('i = ' + i);
this.listObj[i].push({'validation': data[i-1].validation});
console.log(this.listObj[i]);
}
});
}
console.log(this.listObj);
}
listObj:array al ready ready
this.listObj [i] .push:这是我想要将它添加到行而不是数组中的新值。
答案 0 :(得分:0)
不是推送到对象(this.listObj
中的项目),而是只需通过执行
this.listObj[i].field_name = value
NB :push() is for arrays,而不是objects,
检查下面的示例代码并检查您的控制台
var listObject = [
{id: 1, name:'item name'},
{id: 2, name: 'item name2'},
{id: 3, name: 'item name 3'}
]
console.log('original object', listObject)
for(var i=0; i<listObject.length; i++){
// i can manipulate each item here
// if the item is even validate should be true
listObject[i].validate = true
}
console.log('new object', listObject)
&#13;
检查您的控制台,看看如何更改对象的项目