• 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中tag标签的使用
    antd vue Layout 组件收缩展开自定义
    antd vue Popover气泡卡片的使用
    antd vue Tree树形控件的使用
    antd vue Message 全局提示的使用
    tp5.1 关联条件查询haswhere 用field限制字段失效的问题
    Chrome 调试技巧: 调整网速
    html2canvas导出图片模糊
    点击其他区域不让编辑器失去焦点
    启动的项目经常挂怎么办
  • 原文地址:https://www.cnblogs.com/aaaaap/p/11709202.html
Copyright © 2020-2023  润新知