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

    方法一:双层循环去重

    function uniqueArr(arr) {
        var result = [];
        for (var i = 0; i < arr.length; i++) {
            for (var j = i + 1; j < arr.length; j++) {
                if (arr[i] === arr[j]) {
                    j = ++i;
                }
            }
            result.push(arr[i]);
        }
        return result;
    }

    方法二:利用对象的属性不能相同去重

    function uniqueArr(arr) {
        var result = [];
        var obj = {};
        for (var i = 0; i < arr.length; i++) {
            if (!obj[arr[i]]) {
                obj[arr[i]] = 1;
                result.push(arr[i]);
            }
        }
        return result;
    }

     方法三:利用下标

    function uniqueArr(arr) {
        var result = [arr[0]];
        for (var i = 1; i < arr.length; i++) {
            if (result.indexOf(arr[i]) == -1) {
                result.push(arr[i]);
            }
        }
        return result;
    }

    方法四:filter+indexOf

      去除重复元素依靠的是indexOf总是返回第一个元素的位置,

      后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了

    var arr = [1, 2, 3, 1, 2, 3, 2, 2, 2, 2, 1, 4, 6, 32, 1]
    arr.filter((item,index)=>{  return arr.indexOf(item) ===index })  // [1, 2, 3, 4, 6, 32]

    方法五:new Set()

    var arr = [1, 2, 3, 1, 2, 3, 2, 2, 2, 2, 1, 4, 6, 32, 1];
    Array.from(new Set([...a]))

     判断变量是否为数组

    方法一:intanceof

    var arr = [1,2,3,4],obj = {a:1,b:2,c:3}
    
    arr intanceof Array  //true
    obj intanceof Object //true

    方法二:Array.isArray()

    var arr = [1,2,3,4],obj = {a:1,b:2,c:3}
    
    Array.isArray(arr) //true
    Array.isArray(obj) // false

    方法三:constructor

    var arr = [1,2,3,4],obj = {a:1,b:2,c:3}
    
    arr.constructor.name  //Array
    obj.constructor.name //Object
  • 相关阅读:
    MongoDB存储
    python 查看文件名和文件路径
    Python遍历文件个文件夹
    Python图片缩放
    python opencv
    Python3 关于UnicodeDecodeError/UnicodeEncodeError: ‘gbk’ codec can’t decode/encode bytes类似的文本编码问题
    jmter使用
    HttpRunnerManager使用
    PostMan使用
    工作中的思想
  • 原文地址:https://www.cnblogs.com/susutong/p/9981699.html
Copyright © 2011-2022 走看看