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

    第一种

    //思路:把数组转变成对象格式,利用对象特点去重
    var arr=["冬新品", "韩版", "冬新品", "长袖", "韩版"]
    var arrjn=[];
    //1.数组转成json对象 {},目的利用对象自动去重
    var json={};
    for (var i = 0; i < arr.length; i++) {
    var key=arr[i];
    json[key]="1"; //值随便设置
    };
    console.log(json) //{冬新品: "1", 韩版: "1", 长袖: "1"}

    //2.把对象转成原来数组类型
    for (var i in json ){

    arrjn.push(i) //把键推入空数组,数组push方法
    }
    console.log(arrjn)

    第二种

    function unique(arr){
    for(var i=0; i<arr.length; i++){
    for(var j=i+1; j<arr.length; j++){
    if(arr[i]==arr[j]){ //第一个等同于第二个,splice方法删除第二个
    arr.splice(j,1);
    j--;
    }
    }
    }
    return arr;
    }
    var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
    console.log(unique(arr))
    //[1, "true", 15, false, undefined, NaN, NaN, "NaN", "a", {…}, {…}] //NaN和{}没有去重,两个null直接消失了

    第三种

    function unique(arr) {
    if (!Array.isArray(arr)) {
    console.log('type error!')
    return
    }
    var array = [];
    for (var i = 0; i < arr.length; i++) {
    if (array .indexOf(arr[i]) === -1) {
    array .push(arr[i])
    }
    }
    return array;
    }
    var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];
    console.log(unique(arr))

    第四种

    var arr=[1,1,1,3,4,,4,5,,53,5,,45,3,,3,3];

    var arr1=[];

    for(var i=0;i<arr.length;i++){

    if(!arr1.indexOf(arr[i]==-1){

    arr1.push(arr[i])

    }

    }

  • 相关阅读:
    MySQL创建用户和权限管理
    自建单机MySQL数据库备份方案
    Elasticsearch 6.8.4 启动报错解决方法
    自定义 Generate POJOs.groovy
    SpingBoot —— RestTemplate的配置
    springboot —— 多数据源
    SpringBoot -- 计划任务
    SpingBoot —— 多线程
    SpringBoot -- 事件(Application Event)
    SpringBoot —— AOP注解式拦截与方法规则拦截
  • 原文地址:https://www.cnblogs.com/aaaaap/p/11709202.html
Copyright © 2011-2022 走看看