js中的乱序排列(数组随机排序)

背景

有的时候需要我们假装获取到了新数据了(本质上是网络连接出错)
或者面试一份新工作,乱序数组都是需要用到的.

方法1

如果数组的每一项都和数组长度内的随机一项调换位置,那不就是完美的乱序了吗?

//洗牌算法
function randomArr =(arr=[])=>{
    let i = arr.length
    while(i){
      let j =Math.floor(Math.random()*i--)
      [arr[i],arr[j]] = [arr[j],arr[i]]
    }

方法2

利用Array.prototype.sort()方法,
注意此算法为伪随机.

arr.sort(()=>{
   return Math.random()>0.5?1:-1   
 })

你可能感兴趣的:(js中的乱序排列(数组随机排序))