重新排列数组元素

rearrange array elements

本文关键字:数组元素 排列 新排列      更新时间:2023-09-26

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

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()
我认为

即使它的措辞很差并且似乎没有意义,为什么你需要这样做,如果我正确破译你的问题,这就是你想做的:

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