我有两个数组caNCourbeData
和caN_1CourbeData
,每个数组包含12个对象,它们具有相同的对象结构。
这是一个对象的例子:
所以我想做的是创建一个新数组(caCourbe
),其中包含一个对象列表如下:
{
y : '2016-01',
chiffreAffaireN : 1256.92,
chiffreAffaireN_1 : -141559.33
}
来自chiffreAffaireN
的{p> caNCourbeData[i].chiffreAffaire
和来自chiffreAffaireN_1
的{{1}}。
所以我做了如下:
caN_1CourbeData[i].chiffreAffaire
然后我收到了这个错误:
在我的代码中我记录了var caCourbe = new Array();
caNCourbeData.forEach(function(i, caNCourbeDataElement){
caCourbeElement = new Object();
caCourbeElement.y = '2016-'+(i+1).toLocaleString(undefined, {minimumIntegerDigits: 2, useGrouping:false});
caCourbeElement.chiffreAffaireN = caNCourbeDataElement.chiffreAffaire;
caCourbeElement.chiffreAffaireN_1 = caN_1CourbeData[i].chiffreAffaire;
caCourbe.push(caCourbeElement);
});
并且我在控制台中获得了数组,但我不知道为什么我得到的是未定义的:
我该如何解决这个问题?
我尝试将forEach与caN_1CourbeData
而不是caN_1CourbeData
一起使用,因为它们具有与以下相同的长度:
caNCourbeData
但我总是得到同样的错误,这一次是在这一行:caN_1CourbeData.forEach(function(i, caN_1CourbeDataElement){
caCourbeElement = new Object();
caCourbeElement.y = '2016-'+(i+1).toLocaleString(undefined, {minimumIntegerDigits: 2, useGrouping:false});
caCourbeElement.chiffreAffaireN = caNCourbeData[i].chiffreAffaire;
caCourbeElement.chiffreAffaireN_1 = caN_1CourbeDataElement.chiffreAffaire;
caCourbe.push(caCourbeElement);
});
caCourbeElement.chiffreAffaireN = caNCourbeData[i].chiffreAffaire;
答案 0 :(得分:5)
切换传递给forEach回调的参数的顺序,index是第二个参数,这在我的控制台中有效:
caN_1CourbeData.forEach(function(caN_1CourbeDataElement, i){
caCourbeElement = new Object();
caCourbeElement.y = '2016-'+(i+1).toLocaleString(undefined, {minimumIntegerDigits: 2, useGrouping:false});
caCourbeElement.chiffreAffaireN = caNCourbeData[i].chiffreAffaire;
caCourbeElement.chiffreAffaireN_1 = caN_1CourbeDataElement.chiffreAffaire;
caCourbe.push(caCourbeElement);
});