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

    循环比较

    var a=[1,2,3,2];
    var b=[];
    for(var i=0;i<a.length;i++){
        var k=false;
        for(var j=i+1;j<len;j++){
            if(a[i]==a[j]){
                k=true;
                break;
            }
        }
        if(!k) {
            b.push(a[i])
        }
    }
    console.log(b);

    先排序,后比较相邻元素

    //先排序,后比较相邻元素
    a.sort(); 
    var res = [a[0]];
    for(var i = 1; i < a.length; i++){
        if(a[i] !== res[res.a - 1]){
            b.push(a[i]);
        }
    }
    console.log(b);

    与临时数组比较

    //IE8以下有兼容问题,比较浪费资源和时间。比较浪费资源和时间。
    var a = [1, 2, 3, 2];
    var arr = [];    //定义一个临时数组
    for (var i = 0; i < a.length; i++) {    //循环遍历当前数组
        //判断当前数组下标为i的元素是否已经保存到临时数组
        //如果已保存,则跳过,否则将此元素保存到临时数组中
        if (arr.indexOf(a[i]) == -1) {
            arr.push(a[i]);
        }
    }
    console.log(arr);

    与对象比较

    //每次取出一个元素与对象进行对比,如果不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1
    var a = [1, 2, 3, 2];
    var b = [];
    var json = {};
    for(var i = 0; i < a.length; i++) {
        if (!json[a[i]]) {
            b.push(a[i]);
            json[a[i]] = 1;
        }
    }
    console.log(b);

    ES6 数组解构方法

    var a=[1,2,3,2]
    [...new Set(a)]//得到[1,2,3]去重
  • 相关阅读:
    第五周读书笔记
    第五周课后作业(浅谈腾讯的创新)
    对象数组按属性排序
    id,pid数组转拓扑树结构
    ES6数组reduce()方法详解及高级技巧
    vue实现打印功能
    Js es6中扩展运算符(...)
    Axios 各种请求方式传递参数格式
    vue项目全局使用axios
    安装vue-cli脚手架
  • 原文地址:https://www.cnblogs.com/conglvse/p/9525252.html
Copyright © 2011-2022 走看看