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])

    }

    }

  • 相关阅读:
    linux网络管理之netstat命令
    linuxping命令
    linux网络管理-ip
    linux网络管理--网络配置及命令
    汇编基础整理
    windows编辑文本和unix编辑文本的回车符问题
    Zend Studio 8.0.1 新建远程项目无法展示远程项目列表的问题
    HTTPS 服务器搭建
    mysql中的JOIN用法总结
    tcpdump使用和TCP/IP包分析
  • 原文地址:https://www.cnblogs.com/aaaaap/p/11709202.html
Copyright © 2011-2022 走看看