码迷,mamicode.com
首页 > 编程语言 > 详细

js 数组去重的方法总结

时间:2018-06-13 23:34:18      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:var   运算符   方法   结果   array   js数组   通过   保留   作者   

想沉淀一下自己。代码改变世界~~~

1、利用Array.from代码如下

1         var arr = [1,2,3,4,3,2,1]
2     function unique(arr){
3         return Array.from(new Set(arr))
4     }
5     console.log(unique(arr))

2、利用es6(...)拓展运算符。demo

1 var arr = [1,2,3,4,3,2,1]
2     function unique(arr){
3         return [...new Set(arr)]
4     }
5     console.log(unique(arr))

3、利用Object.keys() ;直接上代码

var obj = {},newArr,arr = [1,2,3,4,5,3,2,1];
    for (var i = arr.length - 1; i >= 0; i--) {
        obj[arr[i]] = null;
    };
    newArr = Object.keys(obj);
    console.log(newArr)//这里有个问题就是会转换成字符串。自己看情况使用吧。当然也是可以处理的

4、比较中规中矩的方法。和第三种差不多()。

var arr = [1,2,3,4,3,2,1]

    var o  = {},arr1 = [];
    for (var i = arr.length - 1; i >= 0; i--) {
        if(!o[arr[i]]){
            o[arr[i]] = true;
            arr1.push(arr[i])
        }
    };
    console.log(arr1)

5、这个是我突然有次发现的。来啦(下面就是见证奇迹的时刻)(这是自己看完mdn对于reduce的介绍以后,自己想到的,结果实现了。感觉很有成就。啦啦啦啦啦)

var arr = [1,2,3,4,3,2,1]

var newarr =    arr.reduce(function(prev,now){
        if(prev.indexOf(now)<0){prev.push(now)}
return prev
    },[])
    console.log(newarr)

其实,对于js数组去重的方法还有很多。那些循环巴拉巴拉巴拉 ,就不在这里展示了。这几种方法都是比较新颖的吧。至少自己是这样认为嘚。就像开始说的那样。我想沉淀一下自己了。因为有时候感觉有点迷茫。想通过写博客代码的方式让自己放松一下。找回自己。希望自己能加油坚持下去,以后尽量每周会分享一些自己的心得与收获。我在这里希望自己能成为一个合格的前端人员。谢谢大家。

本文可全文转载,但需要同时保留原作者和出处。

js 数组去重的方法总结

标签:var   运算符   方法   结果   array   js数组   通过   保留   作者   

原文地址:https://www.cnblogs.com/liuyueji/p/9180532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!