随机化JavaScript数组
可以通过一种或两种方式对JavaScript数组进行随机化。最简单的方法是创建一个返回随机数的sort()函数,然后使用Array对象的函数按随机值对数组进行排序。
//随机数
function randNumber(){
return (Math.round(Math.random())-0.5);
}
//创建数组
var numbers = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9);
//打印阵列
alert(numbers);
//随机数组
numbers.sort(randNumber);
//打印随机数组
alert(numbers);排序函数通过将randNumber函数作为参数来工作。对于数组的每一项,它使用此函数将一个值与下一个值进行比较。如果函数返回一个随机数,则该数组将被随机排序。
第二种方法稍微复杂一些,涉及使用FisherFisher随机化算法。以下函数接收一个数组,并返回一个随机排序的数组。
function fisherYates(myArray){
var i = myArray.length;
if(i == 0){
return false;
}
while(--i){
var j = Math.floor(Math.random() * (i + 1));
var tempi = myArray[i];
var tempj = myArray[j];
myArray[i] = tempj;
myArray[j] = tempi;
}
return myArray;
}以以下方式使用该功能。
var numbers = new Array(1,2,3,4,5,6,7,8,9); alert(numbers); numbers= fisherYates(numbers); alert(numbers);
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短