javascript 数组随机排序简单实例
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] 在js中没有像php一样的直接可以利用相关函数对数据进行随机排序了,在这里我们来写一个自定义的数组随机排序函数。...
javascript数组随机排列的方法比较多,下面是比较简单的一种:
代码如下 |
复制代码 |
function randomSort(a,b){
return Math.random()>.5 ? -1:1;
}
|
随机数大于0.5,返回-1,即a排在b前;随机数若小于0.5,则返回1,即b排在a前。
某公司的一道面试题:把1-1000数字随机打乱顺序,放在JS数组中,然后写一函数:指定任意一个1-1000的数,快速从数组中找出该数对应的下标索引号。
代码如下 |
复制代码 |
var aArr = [];
for(var i=0; i<100;i++){
aArr.push(i); //aArr[i] = i;
}
function randomSort(a,b){ //数组元素随机排列
return Math.random()>.5 ? -1:1;
}
aArr.sort(randomSort);
function showIndex(num){
for(var j=0;j<aArr.length;j++){
if(aArr[j]==num){
console.log(j); //输出到控制台
break;
}
}
}
showIndex(43);
|
要打乱数组有很多方法
代码如下 |
复制代码 |
function randomsort(a, b) {
return Math.random()>.5 ? -1 : 1;
//用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1
}
var arr = [1, 2, 3, 4, 5];
var arr2 = arr.sort(randomsort);
alert(arr2);
arrayobj.sort([sortfunction])
|
此方法将 Array 对象进行适当的排序;在执行过程中并不会创建新的 Array 对象。 |