首页 > 编程语言 > 详细

JS中数组的去重

时间:2019-05-07 22:13:29      阅读:165      评论:0      收藏:0      [点我收藏+]

记一道JS数组去重题

前言,有一次去面试,面试官问我一个数组去重题。有哪些方法可以实现。

当时第一反应是hash去重,第一个想法是自己去实现去重算法,(太弱了)。

ES6中的Set类

不过在ES6中新加的Set类就是一个hash集合的实现,现在我们就用Set来实现下去重。

//首先生成一个带有重复元素的数组 [ 0, 1, 1, 2, 2, 3, 3, 4, 4, 5 ]
var arr = Array.from(Array(10),(v,k)=>Math.round(k/2));

var set = new Set(arr);

//去重后的结果 [ 0, 1, 2, 3, 4, 5 ]
var deduplicationArr = [...set];

Map类

Map跟Set差不多,都是基于Hash集合的实现,不过Map是键值对的,所以利用Map可以实现键值对按键的的去重。

var map = new Map();

map.set('key1','value1');
map.set('key1','new-value1');

//output: 'new-value1'
var value = map.get('key1');

JS中数组的去重

原文:https://www.cnblogs.com/m-meng/p/10828383.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!