Angular 10-创建自定义阵列



我们必须以以下格式传递请求中的数据:

insArray[0][INID]:806542

insArray[0][金额]:4050.00

dueDateArr[0][INSID]:806542

dueDateArr[0][到期日期]:2021-08-25

但是使用angular我们无法实现。请提供帮助。

我们使用以下代码:

let maindata = [];
this.installmentData.forEach((item, key: number) => {
if(item.editMode == true){
let data = [];
data['insArray'][key]['INSID'] = item.ID;
data['insArray'][key]['AMOUNT'] = item.INSTALLMENTAMOUNT;
data['dueDateArr'][key]['INSID'] = item.ID;
data['dueDateArr'][key]['DUEDATE'] = item.INSTALLMENTDUEDATE;
maindata.push(data)
}

});

我们在[Key]面临问题,控制台显示错误如下

TypeError:无法设置未定义(设置"0"(的属性

let maindata = [];
this.installmentData.forEach((item, key: number) => {
if(item.editMode == true){
let data = {};
data['insArray'] = [];
data['dueDateArr'] = [];
data['insArray'].push({'INSID': item.ID, 'AMOUNT': item.INSTALLMENTAMOUNT });
data['dueDateArr'].push({'INSID': item.ID, 'DUEDATE': item.INSTALLMENTDUEDATE });
maindata.push(data)
}

});

你可以像上面这样使用。因为javascript需要一个对象,而这个东西看起来像PHP代码。我指的是PHP中的关联数组。所以这个结构就像一个包含对象的数组。

最后,我们创建了自定义代码,它正在工作。

let insArray = [];
let dueDateArr = [];
this.installmentData.forEach((item) => {
if(item.editMode == true){
insArray.push({'INSID': item.ID, 'AMOUNT': item.INSTALLMENTAMOUNT });
dueDateArr.push({'INSID': item.ID, 'DUEDATE': item.INSTALLMENTDUEDATE })
}
});
const maindata = {
insArray: insArray,
dueDateArr: dueDateArr
}

最新更新