我正在尝试推送到一个数组,但是它一直给我这个错误:
Uncaught (in promise): TypeError: Cannot read property 'push' of undefined
TypeError: Cannot read property 'push' of undefined
这是我只是添加到数组中的源代码。我从firestore集合中观察到了可观察到的内容,并对其进行遍历。当类别对象数组在那里时,为什么会给我这个错误。 categories: Category[];
transactions: Observable<Transaction[]>;
categories: Category[];
private organizeData() {
let category: Category;
this.transactions.forEach(v => {
for (let i = 0; i < v.length; i++) {
category = {name: v[i].category, totalSpent: v[i].amount};
this.categories.push(category);
}
});
}
答案 0 :(得分:2)
categories: Category[]
只是数组的声明,您实际上需要创建一个新数组并将其分配给该字段:
categories: Category[] = []
答案 1 :(得分:2)
您没有启动数组categories
,因此它将返回未定义的数组。试试:
categories: Category[] = [];