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

    /**
    * js去除数组重复项
    */
    //方法一、使用正则法
    // reg.test(str),匹配得到就返回true,匹配不到返回false
    var arr = ["345","123","123","345","456"];
    function RegRemove(){
    var str = [];
    for(var i = 0,len = arr.length;i < len;i++){//循环数组每一项
    if(! RegExp(arr[i],"g").test(str.join(','))) //将新数组串成字符串,去匹配旧数组的每一项,如果匹配不到,说明还没有,就把它存进新数组,
    str.push(arr[i]);
    }
    return str;//最后返回出新数组
    }
    console.log(RegRemove(arr));


    //方法二、使用数组的索引值法
    //indexOf() 在新数组中查找元素是否存在,如不存在indexOf()返回-1,把这个元素添加到新数组中,最后返回新数组
    function Indexremove(arr){
    var newArr=[];
    for(var i=0;i<arr.length;i++){
    if(newArr.indexOf(arr[i])==-1){
    newArr.push(arr[i]);
    }
    }
    return newArr;
    }
    console.log(Indexremove(arr));

    //方法三、使用对象的属性特性法
    //如果对象中没有这个属性,我们就赋给它这个属性,同时把它添加到新数组中
    function ObjAttrRemove(arr){
    var newArr=[];
    var obj={};
    for(var i=0;i<arr.length;i++){
    if(!obj[arr[i]]){
    obj[arr[i]]=true;
    newArr.push(arr[i]);
    }
    }
    return newArr;
    }
    console.log(ObjAttrRemove(arr));

  • 相关阅读:
    python练习册 0002随机生成验证
    女生应该找什么样的男生
    博弈论 尼姆博弈,人生第一道博弈纪念一下
    博弈论版版
    博弈论
    STL用法大全
    据说是Flord算法
    20190716-T3-奇袭
    20190716-T1-礼物
    20190716-被水题淹没
  • 原文地址:https://www.cnblogs.com/annie211/p/6225322.html
Copyright © 2011-2022 走看看