将变量添加到数组的行

时间:2018-05-02 09:54:02

标签: arrays typescript ionic-framework controller row

我正在尝试从后台获取数据并验证它是否存在于另一个表中,因此我为包含验证结果的数组的每一行添加一个名为“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:这是我想要将它添加到行而不是数组中的新值。

1 个答案:

答案 0 :(得分:0)

不是推送到对象(this.listObj中的项目),而是只需通过执行

添加新字段

this.listObj[i].field_name = value

NB push() is for arrays,而不是objects

检查下面的示例代码并检查您的控制台

&#13;
&#13;
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;
&#13;
&#13;

检查您的控制台,看看如何更改对象的项目