js的数组函数的用法

  • 内容
  • 评论
  • 相关

js的数组是一个很好用的东西,当然在js全民皆对象的形势下,也有很多不好的地方,例如我们在很多语言,java,php都有很多的现成类库实现数组的随机打乱,在js中我们不是很方便,于是来写一个js数组随机打乱顺序的程序:

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);
}

当然,还有个简单的方法,就是sort,这个sort的比较原理是两两比较,然后换位。大数组的效率还是上述方法好。
从数组截取一段来使用,可以将数组作为环形

//数组作为环形,来取得其中的某一段
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;
}

评论

0条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注