嗨,我有两个数组,如下所示:
this.selectedEvntAccList.map(account => {
account.options = this.viewItemData.corporateActionOptionDetails;
account.options.map(obj => {
obj.__hide__ = true;
obj.accountNumber = account.accountNumber;
});
});
我的第一个数组对象包含帐号。我想在每个选项中附加该帐号。但是有些我最后一个帐号的帐号是每次都被替换的帐号,而不是正确的帐号。有想法吗?
答案 0 :(得分:1)
您使用map两次,第一个map函数将被迭代,但是第二个map函数将针对第一个map函数的所有索引进行迭代-例如,如果第一个数组有10个索引,第二个数组有10个-第二个每个第一个索引数组将循环10次以更新帐号
最好的方法是使用for循环并根据索引更新对象-只需使用for循环更改第二个区域并使用两个数组if(index === i) { then your code to update object }
的索引映射对象,其中i是第二个数组的索引
否则,您可以这样写
this.selectedEvntAccList.map((account, index) => {
account.options = this.viewItemData.corporateActionOptionDetails;
account.options.map((obj, i) => {
if(index === i)
{
obj.__hide__ = true;
obj.accountNumber = account.accountNumber;
}
});
});
我希望这行得通-感谢编码愉快!!
答案 1 :(得分:0)
您确定这些值是数组吗? 您也可以
array.push('new value');
将值附加到数组的末尾,而不更改任何现有值。
或者这句话可能被颠倒了:
obj.accountNumber = account.accountNumber;