Reputation: 2084
I have two arrays caNCourbeData
and caN_1CourbeData
, each one contains 12 objects, and they have the same object structure.
this is an example of an object :
So what I want to do is to create a new array (caCourbe
) that will contains a list of object as following :
{
y : '2016-01',
chiffreAffaireN : 1256.92,
chiffreAffaireN_1 : -141559.33
}
chiffreAffaireN
from caNCourbeData[i].chiffreAffaire
and chiffreAffaireN_1
from caN_1CourbeData[i].chiffreAffaire
.
So I did as the following :
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);
});
but then I get this error :
in my code I logged caN_1CourbeData
and I get the array in the console, but I dont know why I'm getting that is undefined :
How can I solve this ?
I tried to use forEach with caN_1CourbeData
instead of caNCourbeData
since they have the same length as the following :
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);
});
but I always get the same error and this time in this line : caCourbeElement.chiffreAffaireN = caNCourbeData[i].chiffreAffaire;
var caNCourbeData = [{
"mois": 1,
"nbFactures": 2,
"nbFacturesReglees": 1,
"nbdossiersRealise": 1,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 1256.92,
"id": 0
}, {
"mois": 2,
"nbFactures": 4,
"nbFacturesReglees": 2,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 413.00,
"id": 1
}, {
"mois": 3,
"nbFactures": 3,
"nbFacturesReglees": 3,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 30.00,
"id": 2
}, {
"mois": 4,
"nbFactures": 0,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"id": 3
}, {
"mois": 5,
"nbFactures": 0,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"id": 4
}, {
"mois": 6,
"nbFactures": 9,
"nbFacturesReglees": 1,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 2253.31,
"id": 5
}, {
"mois": 7,
"nbFactures": 0,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 2,
"nbContratConverti": 0,
"id": 6
}, {
"mois": 8,
"nbFactures": 0,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"id": 7
}, {
"mois": 9,
"nbFactures": 0,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"id": 8
}, {
"mois": 10,
"nbFactures": 2,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 450.60,
"id": 9
}, {
"mois": 11,
"nbFactures": 0,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"id": 10
}, {
"mois": 12,
"nbFactures": 0,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"id": 11
}];
var caN_1CourbeData = [{
"mois": 1,
"nbFactures": 36,
"nbFacturesReglees": 0,
"nbdossiersRealise": 3,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": -141559.33,
"id": 0
}, {
"mois": 2,
"nbFactures": 144,
"nbFacturesReglees": 0,
"nbdossiersRealise": 23,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 19662.80,
"id": 0
}, {
"mois": 3,
"nbFactures": 39,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 10835.42,
"id": 0
}, {
"mois": 4,
"nbFactures": 30,
"nbFacturesReglees": 0,
"nbdossiersRealise": 2,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 12166.74,
"id": 0
}, {
"mois": 5,
"nbFactures": 73,
"nbFacturesReglees": 0,
"nbdossiersRealise": 1,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 19391.04,
"id": 0
}, {
"mois": 6,
"nbFactures": 36,
"nbFacturesReglees": 0,
"nbdossiersRealise": 5,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 23929.57,
"id": 0
}, {
"mois": 7,
"nbFactures": 24,
"nbFacturesReglees": 0,
"nbdossiersRealise": 1,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 5446.59,
"id": 0
}, {
"mois": 8,
"nbFactures": 24,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 3019.31,
"id": 0
}, {
"mois": 9,
"nbFactures": 20,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 3178.76,
"id": 0
}, {
"mois": 10,
"nbFactures": 1,
"nbFacturesReglees": 0,
"nbdossiersRealise": 0,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 10.00,
"id": 0
}, {
"mois": 11,
"nbFactures": 14,
"nbFacturesReglees": 0,
"nbdossiersRealise": 2,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 6020.56,
"id": 0
}, {
"mois": 12,
"nbFactures": 21,
"nbFacturesReglees": 0,
"nbdossiersRealise": 6,
"nbContrat": 0,
"nbContratConverti": 0,
"chiffreAffaire": 4709.05,
"id": 0
}];
Upvotes: 0
Views: 117
Reputation: 2037
switch the order of the arguments passed to your forEach callback, index is the second parameter, this works in my console:
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);
});
Upvotes: 5