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 ]