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.
Je récupère bien les valeurs du tableau et l'inspecteur de Chrome me dit :
Code : 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 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);
[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:
Mais je ne la comprends pas, elle le console.log(result) me renvoie (undefined, NaN).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 arrRecup = arrRecup.map(function(x) { return [x[0], Number(x[1])]; });
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.
Partager