离子 - 不能用变量键推动对象

时间:2017-11-06 16:05:16

标签: javascript arrays angular typescript ionic-framework

我正在尝试创建一系列电话号码,以便与离子原生any包一起使用。这是相当简单的代码:

SMS

我得到的错误(这是应用程序中出现的运行时错误) -

 let array;
 let promises_array = [];
  this.storage.get('username').then((val) => {
    console.log('in storage');
    this.follow = this.af.list('/profiles/stylists/' + val + "/followers");
    this.subscription = this.follow.subscribe(items => items.forEach(item => {
      promises_array.push(new Promise((resolve, reject) => {
        console.log(JSON.stringify(item) + " item item item");
        let arr = Object.keys(item);
        console.log(item[arr[0]] + "    type followers");
        array.push(item[arr[0]]);    ;
        resolve();
      }))
    }));

    Promise.all(promises_array).then(() => {
      let month1 = date.getUTCMonth;
      let date1 = date.getUTCDate;


        this.sms.send(array, val + " just opened up a spot at " + time + " on " + month1 + " " + date1 + "!")
          .catch(e => { console.log(JSON.stringify(e))});
    })
   boool = false;
 })

我已确认array_1.push对应于以下行:

Uncaught (in promise): TypeError undefined is not an object (evaluating 'array_1.push')

这是说array.push(item[arr[0]]);未定义,但控制台输出是:

item[arr[0]]

第三行显示它识别[10:54:49] console.log: in storage [10:54:49] console.log: {"V":"7818646634"} item item item [10:54:49] console.log: 7818646634 type followers [10:54:52] console.log: "Message cancelled." 是什么,它只是认为它在推动它时是未定义的。任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:1)

您没有将array变量定义为数组,因此它不知道它可以被推送到。

let array;

你应该这样做:

let array = [];