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

编程入门 行业动态 更新时间:2024-10-27 22:26:24
本文介绍了如何随机化(随机播放)JavaScript 数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个这样的数组:

var arr1 = ["a", "b", "c", "d"];

如何随机化/随机播放?

How can I randomize / shuffle it?

推荐答案

事实上的无偏洗牌算法是 Fisher-Yates (aka Knuth) Shuffle.

The de-facto unbiased shuffle algorithm is the Fisher-Yates (aka Knuth) Shuffle.

您可以在这里看到 很棒的可视化(以及原帖 链接到这个)

You can see a great visualization here (and the original post linked to this)

function shuffle(array) { let currentIndex = array.length, randomIndex; // While there remain elements to shuffle... while (currentIndex != 0) { // Pick a remaining element... randomIndex = Math.floor(Math.random() * currentIndex); currentIndex--; // And swap it with the current element. [array[currentIndex], array[randomIndex]] = [ array[randomIndex], array[currentIndex]]; } return array; } // Used like so var arr = [2, 11, 37, 42]; shuffle(arr); console.log(arr);

更多信息关于所使用的算法.

更多推荐

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

本文发布于:2023-10-28 08:13:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1536056.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   随机化   JavaScript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!