zoukankan      html  css  js  c++  java
  • 前端数组去重

    数组去重1 (利用对象)

    Array.prototype.unique1 = function(){
    var arr = [],
    obj = {},
    len = this.length;
    for(var i = 0; i < len;i++ ){
    if(!obj[this[i]]){  //true
    obj[this[i]] = 1;
    arr.push(this[i]);
    }
    }
    return arr;
    }
    console.log(arr.unique())

    数组去重 2

    Array.prototype.unique2 = function () {
    var res = [this[0]];
    for(var i = 1;i < this.length;i++){
    var flag = false;
    for(var j = 0;j < res.length;j++){
    if (this[i] == res[j]) {
              flag = true;
              break;
          }
    }
    if (!flag) {
              res.push(this[i])
    
    }
    
      }
      return res;
    }
    var arr = [1,1,1,'a','a',2]
    console.log(arr.unique1())

    数组去重 3(利用filter和indexOf)

    var arr = [3,2,2,4,5,1,2,2,1,3,undefined,null,null,'1','2'];
    var r = arr.filter(function(e,index,self){
    return self.indexOf(e) == index;   //indexOf每次都是返回元素第一次出现的位置,选出第一次出现的位置与下标相等的
    })
    console.log(r);
    var r = arr.filter(function(e,index,self){
    return self.indexOf(e) == index;   //indexOf每次都是返回元素第一次出现的位置,选出第一次出现的位置与下标相等的
    })
    console.log(r);

    数组去重 4(ES6 set方法,能区分数字和字符串)

    var arr = [3,2,2,4,5,1,2,2,1,3,undefined,null,null,'1','2'];
    var set = new Set(arr)
    console.log(set)
    
    数组去重 5 (ES6 map或forEach方法)
    
    var arr = [3,2,2,4,5,1,2,2,1,3,undefined,null,null,'1','2'];
    var arr1 = [];
    arr.map(function(e,index,self){
    if(self.indexOf(e) == index){
    arr1.push(e)
    };
    })
    console.log(arr1);
  • 相关阅读:
    Docker容器案例:应用 Mysql
    rpm 命令参数使用详解
    MySQL中的两种临时表
    Yum本地Rpm库设置
    编程学习 博客
    yum -------包安装库
    Linux 基础 —— RPM
    在CentOS上编译安装PostgreSQL
    Linux上安装JDK环境变量配置
    yum_rpm(利用dvd建立本地yum库)
  • 原文地址:https://www.cnblogs.com/jiahuasir/p/10571910.html
Copyright © 2011-2022 走看看