javascript 对列表进行随机排序

标签 javascript list sorting

我想我有一个包含下一个的列表:

20 22 24

如何对这三个元素进行随机排序,以便得到 22、20、24 或 24、20、22 等内容?

我知道你可以生成随机数,但我想我并不是在寻找它?

最佳答案

例如,您需要实现随机播放算法

var arr = [20, 22, 24];

function shuffleArray(a) { // Fisher-Yates shuffle, no side effects
    if(a.length === 0) return a;
    var i = a.length, t, j;
    a = a.slice();
    while (--i) t = a[i], a[i] = a[j = ~~(Math.random() * (i+1))], a[j] = t;
    return a;
}

shuffleArray(arr); // [22, 24, 20]
shuffleArray(arr); // [22, 20, 24]
shuffleArray(arr); // [24, 22, 20]

关于javascript 对列表进行随机排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17118259/

相关文章:

PHP按字段名对多维数组进行排序

javascript - JS把字符串变成变量

c# - 获取结构/列表的特定值

C# XML LINQ 查询到 LIST<>

ios - 如何对项目进行排序,以便在 UICollectionView 的每一行上浪费尽可能少的空间?

sorting - 选择排序是一种有效的算法吗?

javascript - 在xul中,如何检索环境变量?

javascript - 按 Enter 键创建标签,但将文本保留在 Select2 中

javascript - p5.j​​s 3D 草图中的背景图像

python - 将 2 个列表相乘