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

    //第一种方法
    
    var arr = [0, 1, 2, 2, 3, 44, 44, 5, 6];
    
    function uniq(arr) {
        return Array.from(new Set(arr))
    }
    console.log(uniq(arr))
    console.log(arr)
    
    // ES6 
    var newArr = (arr) => Array.from(new Set(arr))
    
    console.log(newArr(arr))
    console.log(arr)
    
    //第二种方法 ---原生JS的去重方法,借助一个空数组来实现去重
    function xyz(arr) {
        let a = [];
        arr.forEach((item, index) => {
            a.indexOf(item) === -1 ? a.push(item) : ''
        })
        return a;
    }
    console.log(xyz([1, 2, 3, 2, 3]));
    
    //第三种方法 ---数组原型链的去重方法
    
    Array.prototype.uniq = function() {
        let a = [];
        this.forEach((item, index) => {
            a.indexOf(item) === -1 ? a.push(item) : ''
        })
        return a;
    }
    console.log([1, 2, 1, 3].uniq());
    
    //第四种方法 ---多数组去重 Array.from 两类对象转为真正的数组 类似数组的对象( array-like object )和可遍历( iterable )的对象
    
    
    function xyz() {
        let a = [];
        for(var i = 0; i < arguments.length; i++) {
            Array.from(arguments[i]).forEach((item, index) => {
                a.indexOf(item) === -1 ? a.push(item) : ''
            })
    }
        return a;
    }
    console.log(xyz([1, 2, 'a', 2, 3], [2, 'a', 1, 5], [6, '3', 4, 6, 7], [6, 23, 4, 6, 7]));
    View Code
  • 相关阅读:
    QT Launching Debugger 卡住
    VS无法打开源文件"stdio.h"
    QT 5.15 https 无法访问 TLS initialization failed
    .Net 添加第三方控件
    XML解析——DOM解析
    javascript——对象
    SQL Server 合并表 union 和union all
    深入理解HTTP
    HTTP详解(3)-http1.0 和http1.1 区别
    HTTP详解(2)
  • 原文地址:https://www.cnblogs.com/xzma/p/8543488.html
Copyright © 2011-2022 走看看