JS数组乱序的几种方法

1. 使用sort

function shuffle(arr) {
    return arr.sort(() => Math.random() - 0.5)
}

2.洗牌算法

先从数组末尾开始,将最后一个元素与前边任意随机元素交换位置;

在已经排好的最后一个元素以外的位置中,随机产生一个位置,让该位置元素与倒数第二个元素进行交换;

循环操作...

function shuffle(arr) {
    for (let i=arr.length;i;i--){
        // 产生一个随机位置
        let j = Math.floor(Math.random() * i);
        
        // 交换位置
        [arr[i-1],arr[j]] = [arr[j],arr[i-1]];    
    }
    return arr;
}

 

你可能感兴趣的:(前端面试,前端,前端算法,前端算法,leetcode)