Salut la communauté, je galère sur un truc tous bête.
J'ai un tableau js monté de tel maniere :
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
 
var aElemPos = [];
  $('.elem').each(function(){
    var sIdElem = $(this).attr("id");
    var xIdElem = sIdElem.split("_");
    var iIdElem = parseInt(xIdElem[3]);
    if(iIdElem<20000) { var sElemFrom = "header"; }else if(iIdElem>30000) { var sElemFrom = "content"; }else{ return true; }
    var iPgN    = parseInt(xIdElem[1]);
    var iPzT    = $(this).position().top;
    var iPzL    = $(this).position().left;
    if(typeof aElemPos[sElemFrom] == "undefined") { aElemPos[sElemFrom] = []; }
    if(typeof aElemPos[sElemFrom][iPgN] == "undefined") { aElemPos[sElemFrom][iPgN] = []; }
    if(typeof aElemPos[sElemFrom][iPgN][iPzT] == "undefined") { aElemPos[sElemFrom][iPgN][iPzT] = []; }
    if(typeof aElemPos[sElemFrom][iPgN][iPzT][iPzL] == "undefined") { aElemPos[sElemFrom][iPgN][iPzT][iPzL] = []; }
    aElemPos[sElemFrom][iPgN][iPzT][iPzL] = sIdElem;
  });
Je remarque que le tableau (clef numerique ou alpha) est trier automatiquement en ASC (meme si c'est dans le désordre, il me le réordonne tous seul)
Loop de sortie visuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
for(var i in aElemPos) {                            // header or content
    for(var j in aElemPos[i]) {                       // page
      for(var k in aElemPos[i][j]) {                  // top
        for(var l in aElemPos[i][j][k]) {             // left
          console.log(i+" | Page "+j+" | Top "+k+" | Left "+l);
        }
      }
    }
  }
Sortie en console log :
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
 
content | Page 1 | Top 200 | Left 200
content | Page 1 | Top 200 | Left 560
content | Page 1 | Top 260 | Left 200
content | Page 2 | Top 188 | Left 188
content | Page 2 | Top 360 | Left 188
header | Page 1 | Top 0 | Left 0
header | Page 1 | Top 0 | Left 580
header | Page 1 | Top 60 | Left 400
header | Page 1 | Top 140 | Left 0
header | Page 1 | Top 180 | Left 0
header | Page 2 | Top 0 | Left 0
header | Page 2 | Top 0 | Left 580
header | Page 2 | Top 60 | Left 400
header | Page 2 | Top 140 | Left 0
header | Page 2 | Top 180 | Left 0
Au départ ce n'est pas dans cette ordre mais il me le trie niquel a chaque niveau en ASC.

Ma question : Comment faire pour inversé totalement le tableau ? Ou au pire, comment le parcourir en arriere pour que, exemple, la première sortie soit "header | Page 2 | Top 180 | Left 0" (la derniere de la sortie si dessus).

Merci les gars si vous avez une idée.

Georges.