JavaScript 中的交替洗牌


交替洗牌

JavaScript 中的交替洗牌数组是一个数字数组,其中的数字编索引时,最大的数字后面紧跟着最小的元素,第二大的元素后面紧跟着第二小的元素,依此类推。

例如:如果输入数组为 -

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
]

更新于:18-Sep-2020

248 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告