Bonjour,

Je suis toujours embêté avec ceci

J'aimerais faire un array à plusieurs niveaux. Je récolte des donnés tel que celles ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
0: Object { unit: "V", station_longname: "Anenomètre", chartContainer: "ba", … }
1: Object { unit: "Degré", station_longname: "Anenomètre", chartContainer: "di", … }
2: Object { unit: "%", station_longname: "Anenomètre", chartContainer: "hu", … }
3: Object { unit: "kPa", station_longname: "Anenomètre", chartContainer: "pr", … }
4: Object { unit: "W/m2", station_longname: "Anenomètre", chartContainer: "ra", … }
5: Object { unit: "C", station_longname: "Anenomètre", chartContainer: "te", … }
6: Object { unit: "an", station_longname: "Anenomètre", chartContainer: "pl", … }
7: Object { unit: "km/h", station_longname: "Anenomètre", chartContainer: "vi", … }
Mais je ne peux utiliser que des paires. Donc je dois regrouper ceci par paire. L'idée est de les regrouper ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
0: Object { unit: "V", station_longname: "Anenomètre", chartContainer: "ba", … }
5: Object { unit: "C", station_longname: "Anenomètre", chartContainer: "te", … }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
2: Object { unit: "%", station_longname: "Anenomètre", chartContainer: "hu", … }
3: Object { unit: "kPa", station_longname: "Anenomètre", chartContainer: "pr", … }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
1: Object { unit: "Degré", station_longname: "Anenomètre", chartContainer: "di", … }
7: Object { unit: "km/h", station_longname: "Anenomètre", chartContainer: "vi", … }

Code : Sélectionner tout - Visualiser dans une fenêtre à part
4: Object { unit: "W/m2", station_longname: "Anenomètre", chartContainer: "ra", … }
Je veux donc créer un array qui pourrait resembler à ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
var data = []
datas[0] = mes deux premieres paires
datas[1] = mes deux suivantes paires
datas[2] = les deux suivantes paires
datas[3] = le derniere

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
datas[0] = Object { unit: "V", station_longname: "Anenomètre", chartContainer: "ba", … }, Object { unit: "C", station_longname: "Anenomètre", chartContainer: "te", … }

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
datas[1] = Object { unit: "%", station_longname: "Anenomètre", chartContainer: "hu", … }, Object { unit: "kPa", station_longname: "Anenomètre", chartContainer: "pr", … }

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
datas[2] = Object { unit: "Degré", station_longname: "Anenomètre", chartContainer: "di", … },Object { unit: "km/h", station_longname: "Anenomètre", chartContainer: "vi", … }
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
datas[3] = Object { unit: "W/m2", station_longname: "Anenomètre", chartContainer: "ra", … }

Je commence par faire ceci

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
console.log("data:",data);
var datas = [];
for(var len in Object(data)){
   console.log("obj data: ", data[len].chartContainer);
}

Et c'est la que je bug. J'ai essayé de faire ceci

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
console.log("data:",data);
var datas = [];
for(var len in Object(data)){
   console.log("obj data: ", data[len].chartContainer);
   for(var len in Object(data)){
                    console.log("obj data: ", data[len].chartContainer);
 
                    if(data[len].chartContainer == 'ba' || data[len].chartContainer == 'te' ){
                        datas[len].push(data[len]);
                    }
 
                    if(data[len].chartContainer == 'hu' || data[len].chartContainer == 'pr' ){
                        datas[len].push(data[len]);
                    }
 
                    if(data[len].chartContainer == 'vi' || data[len].chartContainer == 'di' ){
                        datas[len].push(data[len]);
                    }
 
                    if(data[len].chartContainer == 'ra' ){
                        datas[len].push(data[len]);
                    }
 
 
         }
}

Ca bug à ce niveau
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
datas[len].push(data[len]);
Uncaught TypeError: datas[len] is undefined
Pourtant, je l'ai bien défini plus haut? non?


Voyez-vous? aveu vous besoins d'info supplémentaires?