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

    }

    }

  • 相关阅读:
    git如何忽略文件或者文件夹
    jsonp跨域请求发布出去
    PHP
    curl保存图片
    curl 请求
    输入框纯数字
    PHP允许AJAX跨域请求的两种方法
    IOS开发笔记 IOS如何访问通讯录
    Android 蓝牙开发(整理大全)
    新的移动服务示例
  • 原文地址:https://www.cnblogs.com/aaaaap/p/11709202.html
Copyright © 2011-2022 走看看