js的数组是一个很好用的东西,当然在js全民皆对象的形势下,也有很多不好的地方,例如我们在很多语言,java,php都有很多的现成类库实现数组的随机打乱,在js中我们不是很方便,于是来写一个js数组随机打乱顺序的程序:[shell]
function shuffle(arr) {
//使用while这个方法在数组数小的时候,随机效果不如for
// var i = arr.length;
// var ii = Math.floor(Math.random()*i);
// while(i–){
// if(i !== ii){
// var tmp = arr[ii];
// arr[ii] = arr[i];
// arr[i] = tmp;
// }
// }
var len = arr.length;
var ii = Math.floor(Math.random()*len);
for(var i = 0; i < len; i++){
var tmp = arr[i];
arr[i] = arr[ii];
arr[ii] = tmp;
}
alert(arr);
}[/shell]
当然,还有个简单的方法,就是sort,这个sort的比较原理是两两比较,然后换位。大数组的效率还是上述方法好。
从数组截取一段来使用,可以将数组作为环形[js]
//数组作为环形,来取得其中的某一段
function arraySlice(arr,start,count){
var part;
part = arr.slice(start,start+count);
if(start+count>arr.length){
part = part.concat(arr.slice(0,(start+count)-(arr.length)));
}
return part;
}[/js]
2023年六月 一 二 三 四 五 六 日 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -
近期文章