< 返回技术文档列表

Java数组的去重方法是什么

发布时间:2021-11-07 01:34:44

这篇文章主要讲解了“Java数组的去重方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java数组的去重方法是什么”吧!

    数组去重的场景

    将数组var arr =[1,1,‘true',‘true',true,true,66,66,false,false,undefined,undefined, null,null, NaN, NaN, 0, 0, ‘a', ‘a',{},{}]中重复的值过滤掉

    1、ES6-set

    使用ES6中的set是最简单的去重方法

    <script>
       var arr=[1,2,3,4,1,2,3]
       //先将数组转换为set
       var set=new Set(arr) 
       //再将set转换为数组
       console.log(Array.from(set))
    </script>

    2、利用Map数据结构去重

    创建一个空Map数据结构,遍历需要去重的数组,把数组的每一个元素作为key存到Map中。由于Map中不会出现相同的key值,所以最终得到的就是去重后的结果

    function shuzu(arr) {
      let map = new Map();
      let array = new Array();  // 数组用于返回结果
      for (let i = 0; i < arr.length; i++) {
        if(map .has(arr[i])) {  // 如果有该key值
          map .set(arr[i], true);
        } else {
          map .set(arr[i], false);   // 如果没有该key值
          array .push(arr[i]);
        }
      }
      return array ;
    }

    3、 嵌套循环+splice

    function shuzu(arr){
    for(var i = 0 ; i < arr.length; i++){
    for( var j = i + 1; j < arr.length; j++){
    if( arr[i] === arr[j] ){
    arr.splice(j,1);
    }
    }
    }
    return arr;
    }

    4、 forEach + indexOf

    function shuzu(arr){
    var res = [];
    arr.forEach((val,index)=>{
    if( res.indexOf(val) === -1 ){
    res.push(val);
    }
    });
    return res;
    }

    感谢各位的阅读,以上就是“Java数组的去重方法是什么”的内容了,经过本文的学习后,相信大家对Java数组的去重方法是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是血鸟云,小编将为大家推送更多相关知识点的文章,欢迎关注!


    /template/Home/Zkeys/PC/Static