重新排列数组元素

时间:2011-05-09 08:19:23

标签: javascript

在数组T中,我们有值[e,t,m,a]。如何在单个循环中重新排序此数组以获得[t,e,a,m]?

2 个答案:

答案 0 :(得分:3)

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()

答案 1 :(得分: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