上海前端培训,数组去重
您的位置: 主页 > web前端文章 > javascript >

上海前端面试题数组去重【访问量:123】

在上海前端面试的时候经常遇到一个题 就是js数组去重的题目,今天就来给大家分享一下具体的方法:

第一种方法:很简单大家都学过

Array.prototype.unique1 = function(){
    var r = new Array();
    label: for (var i = 0; i < this.length; i++) {
        for (var j = 0; j < r.length; j++) {
            if(r[j] == this[i]){
                continue label;
            }
        };
        r[r.length] = this[i];
    };
    return r;
}

第二种方法:这种方法也是很好的

Array.prototype.unique4 = function()
{
    this.sort();
    var re=[this[0]];
    for(var i = 1; i < this.length; i++)
    {
        if( this[i] !== re[re.length-1])
        {
            re.push(this[i]);
        }
    }
    return re;
}

第三种方法:推荐一种

Array.prototype.unique3 = function(){
    var res = [];
    var json = {};
    for(var i = 0; i < this.length; i++){
        if(!json[this[i]]){
            res.push(this[i]);
            json[this[i]] = 1;
        }
    }
    return res;
}
var arr = [112,112,34,'你好',112,112,34,'你好','str','str1'];
alert(arr.unique3());

好了以上是前端面试中js去重的方法

2018-04-17
下一篇:没有了
匿名评论