Чтобы объединить два массива бок о бок, я следую приведенной ниже процедуре, но получаю
Невозможно установить свойство "account" из неопределенного.
Вот мой код
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 = [{}];
Я получу ту же ошибку для 2-го if
, то есть this.newacc[i].accounts
В чем я здесь ошибся? Или есть какой-нибудь самый простой способ объединить два массива рядом? Эти два массива не зависят от длины массива и не несут никакого соединения.