尝试使用TS将新字段插入到数组中的每个对象中

时间:2018-03-25 04:31:47

标签: angular typescript

我有一个角度项目,我有一个代码块,返回一个对象数组,包含联系人记录。

我有一个'forEach'循环,我用用户的首字母创建一个新字段。

我想将这个新字段'userInitials'推送到相应的记录中。

我有以下代码,但它正在推送新对象而不是新字段,但是当我删除对象括号时,我会收到错误。

    let initialHold: any;
    let contactWithInitials = [];

    this.contacts.forEach( eachObj => {
      if(eachObj.first_name){
        initialHold = eachObj.first_name.charAt(0);
      }
      if(eachObj.last_name){
        initialHold += eachObj.last_name.charAt(0);
      }

      this.contacts.push({'userInitials':initialHold});

    })

1 个答案:

答案 0 :(得分:2)

使用此eachObj['userInitials'] = initialHold代替this.contacts.push({'userInitials':initialHold});。您想要改变原始对象,然后在创建新属性后必须将新属性添加到eachObj