js数组去重 javascript版

//js数组去重
//思路:
// 1.放入第一个元素
// 2.放入第n个元素,和第n个之前的元素就行比较,如果有重复,则跳过。没有重复就加入数组中
// 3.返回新的去重后数组


Array.prototype.removeRepeat=function(isRepeat){
    var onleArr=[]
    for(var i=1;i<this.length;i++){
        //如果重复
        var repeat=false
        for(var n=0;n<i;n++){
            //与前面的是否有重复
            if(isRepeat(this[n],this[i])){
                repeat=true;
                break;
            }
        }
        if(!repeat){
            onleArr.push(this[i])
        }
    }
    return onleArr
}
//生成随机数组
var arr=[]

for(var i=0;i<30;i++){
    arr.push(0|Math.random()*30)
}
console.log(arr)
//传入去重的判断方法,会返回一个新的去重后的数组
var nc=arr.removeRepeat(function(a,b){
    return a==b
})
console.log(nc)

  

posted @ 2015-12-10 14:58  无工时代  阅读(227)  评论(0编辑  收藏  举报