你好,我需要无序排列。我试过这样的事情:
var letras = ['a', 'e', 'i', 'o', 'u'];
function disorder(p){
for(i=0;i<100;i++){
pos = Math.random()*p.length;
temp=p[pos];
p.splice(pos,1);
p.push(temp);
}
}但它不起作用,我也不确定这是否有效的内存,因为删除。
发布于 2016-02-08 17:13:49
您需要一个整数作为索引。
pos = Math.random() * p.length | 0;按位或将值转换为整数。
function disorder(p) {
var i, pos, temp;
for (i = 0; i < 100; i++) {
pos = Math.random() * p.length | 0;
temp = p[pos];
p.splice(pos, 1);
p.push(temp);
}
}
var letras = ['a', 'e', 'i', 'o', 'u'], p = []
disorder(letras);
document.write('<pre>' + JSON.stringify(letras, 0, 4) + '</pre>');
发布于 2016-02-08 17:14:45
随便做一次怎么样?
var letras = ['a', 'e', 'i', 'o', 'u'];
function disorder(arr, entropy){
var disorderedArr = arr.sort(function(a, b) {
return Math.floor(Math.random() * entropy);
});
return disorderedArr;
}
var disorderedLetras = disorder(letras, 10);
console.log(disorderedLetras);
document.write('<pre>' + JSON.stringify(disorderedLetras, 0, 4) + '</pre>');
虽然在统计上可能不是很有力,但它会做你想做的事情,并给你一些对实际随机事物的控制。
https://stackoverflow.com/questions/35275303
复制相似问题