即使在TS中声明变量,也会获得未定义

时间:2018-03-25 03:11:30

标签: angular typescript

我有一个带有代码块的Angular应用程序,我希望将值推送到数组。

即使我宣布了一个变量' contactWithInitials'我收到的错误是“无法读取未定义的推送”#。

我在这里缺少什么?

    let initialHold: any;
    let contactWithInitials: any [];

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

      contactWithInitials.push({'userInitials':initialHold});

    })

1 个答案:

答案 0 :(得分:1)

您已宣布contactWithInitials是什么类型,但您实际上没有设置它......

let contactWithInitials: any[] = [];

// or if you want to have a stronger type
let contactWithInitials: { 'userInitials': string }[] = []