【发布时间】:2019-06-06 02:30:41
【问题描述】:
要并排组合两个数组,我遵循以下过程,但我得到了
无法设置未定义的属性“帐户”。
这是我的代码
acs = [
{
"account": "Cash In Hand",
"liabilities": 0,
"assets": 8031597
},
{
"account": "Tax Acs",
"liabilities": 988363.72,
"assets": 0.98
},
{
"account": "Sundry Debtor",
"liabilities": 0,
"assets": 551
},
{
"account": "Sundry Creditor",
"liabilities": 0,
"assets": 0
}
];
acd: any;
acc: any;
newacc: any;
constructor() { }
ngOnInit() {
this.acd = this.acs.filter(f => f.liabilities !== 0);
this.acc = this.acs.filter(f => f.assets !== 0);
const bigger = this.acd.length > this.acc.length ? this.acd.length : this.acc.length;
this.newacc = [];
for (let i = 0; i < bigger; i++) {
if (this.acd.length > i) {
this.newacc[i].account = this.acd[i].account;
this.newacc[i].liabilities = this.acd[i].liabilities;
}
if (this.acc.length > i) {
this.newacc[i].accounts = this.acc[i].account;
this.newacc[i].assets = this.acc[i].assets;
}
}
}
如果我像这样添加this.newacc = [{}]; 我会得到第二个if 的相同错误,即this.newacc[i].accounts
我在这里做错了什么?或者有没有最简单的方法来并排组合两个数组?这两个数组在数组长度上是独立的,不带任何join。
【问题讨论】:
标签: javascript angular typescript angular7