js 隨機打亂數組


假如有一個數組:

var arr1=['a','b','c','d','e','f','g'];

需要將它進行隨機打亂,網上好多都是用:

arr1.sort(function(){ return 0.5 - Math.random() });這種方式來實現,

但是,經測試發現:這種方式打亂的效果不是太明顯,網上百度了洗牌算法,經過修改,代碼如下:

function shuffle(arr) {
  for (var i = arr.length - 1; i >= 0; i--) {
    var randomIndex = Math.floor(Math.random() * (i + 1));
    var itemAtIndex = arr[randomIndex];
    arr[randomIndex] = arr[i];
    arr[i] = itemAtIndex;
  }
  return arr;
}
直接調用shuffle(arr);

 console.log(arr);

 這樣,打印出來的arr就是隨機的了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM