JavaScript中的替代洗牌

替代洗牌

JavaScript中另一个随机排列的数组是Numbers数组,其中对数字进行索引,以使最大数字后跟最小元素,第二大元素后跟第二最小元素,依此类推。

例如:如果输入数组是-

const arr = [11, 7, 9, 3, 5, 1, 13];

然后输出应为&minus

const output = [13, 1, 11, 3, 9, 5, 7];

示例

以下是代码-

const arr = [11, 7, 9, 3, 5, 1, 13];
const sorter = (a, b) => a - b;
const alternateShuffle = (arr) => {
   const array = arr
   .slice()
   .sort(sorter);
   array.sort((a, b) => a-b);
   for(let start = 0; start < array.length; start += 2){
      array.splice(start, 0, array.pop());
   }
   return array;
};
console.log(alternateShuffle(arr));

输出结果

这将在控制台中产生以下输出-

[
   13, 1, 11, 3,
   9, 5,  7
]