我想我有一个包含下一个的列表:
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/