数组去重方法

//方法一(推荐)

 var arr=[1,2,3,3,3,3,4];
        function text1(arr){
            //判断传入的是否是数组
            if(!Array.isArray(arr)){
                return false;
            }
            // 建立一个空数组
            var newArr=[];
            // 遍历arr传入newArr
            for(var i=0;i<arr.length;i++){
                // 使用indexOf判断这个数在数组中是不是首次出现
                if(newArr.indexOf(arr[i])==-1){
                    newArr.push(arr[i]);
                }
            }
         console.log(newArr)
        }
    text1(arr);

//方法二 Set

  var set = new Set([1,2,3,3,4,4]);
  console.log(Array.from(set))

//方法三 Map

const map = new Map()
[1,2,3,3,3,4].filter((item)=>{
      !map.has(item)&& map.set(item,1)
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面值试中常会被问到的问题--数组去重方法,此处整理了6中方法,后续添加。1、arr.filter() 2、先排序再...
    codeholding阅读 293评论 0 0
  • 第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元...
    Rose_yang阅读 309评论 0 0
  • 常规方法 思路 构建一个新的数组用来存放结果 for循环中每次从原数组取出一个元素,用这个元素循环与结果数组对比 ...
    花开半夏_NOTen阅读 233评论 0 0
  • #数组去重方法 var a = [1111,1112,1113,1111122,1113,1112,1113,11...
    Sachie阅读 374评论 0 2
  • 需求:自定义dialog使其沾满整个屏幕,透明显示(活动弹窗)。 先上代码 布局文件 java代码 分析:定义全屏...
    Y小圆脸阅读 2,508评论 0 0