Sort Array Multidimentionnel par Key numerique en DESC
Salut la communauté, je galère sur un truc tous bête.
J'ai un tableau js monté de tel maniere :
Code:
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:
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:
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.