2011-05-09 137 views
-2

在數組T中我們有值[e,t,m,a]。如何在單一循環中重新排列這個數組以獲得[t,e,a,m]?重新排列數組元素

+3

你的問題沒有任何意義。你的意思是你想分類嗎?或者你的意思是你想要以任意的順序?請添加更多的上下文 – JohnP 2011-05-09 08:22:41

回答

2
var T = ['e','t','m','a'] 
var ordered = order(T) 
function order(T){ 
    return [T[1],T[0],T[3],T[2]] 
} 

......或者......

T.concat(T.splice(0,2)).reverse() 
2

我認爲,即使它不善措辭似乎並沒有什麼意義,爲什麼你需要做到這一點,如果我破譯你的問題正確,這是你想要做的:

var goal = ['a','t','o','m','i','c'], 
    scramble = ['c', 't', 'm', 'a', 'o', 'i'], 
    index, 
    holder; 

for (var i = 0, gl = goal.length; i < gl; i++) { 
    index = scramble.indexOf(goal[i]); 
    holder = scramble.splice(index, 1)[0]; 
    scramble.splice(i, 0, holder); 
} 

alert(scramble); // -> a,t,o,m,i,c