0

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 :

enter image description here

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 :

enter image description here

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 :

enter image description here

How can I solve this ?

Edit 1 :

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;

Edit 2:

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
}];
6
  • please add the arrays as text as well. Commented Oct 11, 2016 at 17:42
  • Clearly caN_1CourbeData[i] is undefined, so the two arrays aren't the same Commented Oct 11, 2016 at 17:44
  • @NinaScholz please check Edit 2 Commented Oct 11, 2016 at 17:47
  • @adeneo please check Edit 2 Commented Oct 11, 2016 at 17:48
  • A simple console.log(i) would have told you what's wrong. Commented Oct 11, 2016 at 17:53

1 Answer 1

5

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); 
});

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Parameters

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.