亂序的兩種方法

嘻來樂發表於2019-06-11

1、根據陣列的原生方法sort()

sort()方法,可以接受一個函式,返回值為正則正序,為負則逆序

function outOfOrder(arr){
  return arr.sort(function(){
    return Math.random() - 0.5
  })
}
console.log(outOfOrder([1,2,3,4]))
//[ 2, 3, 1, 4 ]
複製程式碼

2、隨機替換

function outOfOrder(arr){
  let len = arr.length;
  for(let i = len;i;i--){
    let j = Math.floor(Math.random()*i);
    [arr[j],arr[i-1]] = [arr[i-1],arr[j]]
  }
  return arr;
}

console.log(outOfOrder([1,2,3,4]))
//[ 2, 1, 4, 3 ]
複製程式碼

相關文章