您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何随机化(随机播放)JavaScript数组?

如何随机化(随机播放)JavaScript数组?

实际无偏混洗算法是Fisher-Yates(aka Knuth)。

function shuffle(array) {

  var currentIndex = array.length, temporaryValue, randomIndex;



  // While there remain elements to shuffle...

  while (0 !== currentIndex) {



    // Pick a remaining element...

    randomIndex = Math.floor(Math.random() * currentIndex);

    currentIndex -= 1;



    // And swap it with the current element.

    temporaryValue = array[currentIndex];

    array[currentIndex] = array[randomIndex];

    array[randomIndex] = temporaryValue;

  }



  return array;

}



// Used like so

var arr = [2, 11, 37, 42];

shuffle(arr);

console.log(arr);
javascript 2022/1/1 18:14:31 有455人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶