js 数组洗牌算法

第一种写法:

function getMess(arr) {
   return arr.sort(function() {
       return (Math.random() - 0.5);
   });
}

效果图:

 

  

第二种写法:

function getMess(arr) {
   var n = arr.length;
   var newArr = [];
   while(n) {
       // 随机获取一个数组下标
       var i = Math.floor(Math.random()*n--);
       // 把该随机下标对应的值push到新数组里面,原数组删除该值
       newArr.push(arr.splice(i, 1)[0]);
   }
   return newArr;
}

 效果图:

 

posted @ 2021-05-19 15:29  web_cnblogs  阅读(179)  评论(0)    收藏  举报