zoukankan      html  css  js  c++  java
  • 数组去重的常用方法

    方法一:遍历数组,建立新数组,利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组

    Array.prototype.unique1 = function(){
    var res=[];
    for(var i = 0; i < this.length; i++){
    if(res.indexOf(this[i])===-1){
    res.push(this[i])
    }
    }
    return res;
    }
    var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0,8,6,7,6]
    alert(arr.unique1());

    方法二:遍历数组,利用object对象保存数组值,判断数组值是否已经保存在object中,未保存则push到新数组并用object[arrayItem]=1的方式记录保存

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

    方法三:数组下标判断法, 遍历数组,利用indexOf判断元素的值是否与当前索引相等,如相等则加入

    复制代码
    function removeDuplicatedItem3(ar) {
        var ret = [];
    
        ar.forEach(function(e, i, ar) {
            if (ar.indexOf(e) === i) {
                ret.push(e);
            }
        });
    
        return ret;
    }
    复制代码
  • 相关阅读:
    第二周c语言PTA作业留
    2018第零次作业
    总结报告
    第14/15周作业
    第七周作业
    第六周作业
    第四次作业
    第三次作业
    大学第二次作业
    大学的第一次作业
  • 原文地址:https://www.cnblogs.com/yzhihao/p/6595365.html
Copyright © 2011-2022 走看看