Mauvaise récupération de valeurs dans un tableau
Bonjour le monde
Le but de cette snipet est, après un loop dans un xml qui me charge un tableau multidimensionnel avec, en [0] des string, et en [1] des numbers de trouver la plus grande valeur parmi les numbers.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
var i =0; var itemName; var ImageHeight;
var arrRecup = new Array([],[]);
var result;
$.get('loadimages.xml', function(xml){
$(xml).find('creagraph').find('item').each(function(){
itemName = $(this).text();
imageHeight = $(this).attr('height');
arrRecup[0][i] = itemName;
arrRecup[1][i] = imageHeight;
i++
})
});
result = arrRecup.reduce(function(max){
return max >= arrRecup[1] ? max : arrRecup[1];
}, -Infinity);
console.log(result); |
Je récupère bien les valeurs du tableau et l'inspecteur de Chrome me dit :
[Array[0], Array[0]]
0: Array[5]
1: Array[5]
0: "catalogue_1.jpg" 1: "catalogue_2.jpg" 2: "catalogue_3.jpg" 3: "catalogue_3_1.jpg"
1: "620" 1: "620" 2: "739" 3: "741"
Par contre le console.log(result) me renvoie [] Sans rien dedans.
Je me demande si je n'ai pas mal formuler mon tableau et qu'il cherche des numbers alors que ce sont des strings partout.
Sinon j'ai trouvé cette snippet que j'ai placé après la fonction qui appelle le xml:
Code:
1 2 3 4
|
arrRecup = arrRecup.map(function(x) {
return [x[0], Number(x[1])];
}); |
Mais je ne la comprends pas, elle le console.log(result) me renvoie (undefined, NaN).
J'ai du mal à décoder les réponses de l'inspecteur encore et là j'ai besoin d'un coup de main. Merci d'avance.