javascript数组去重方法汇总
前言
数组去重已经是一个老生常谈的问题了,依然经久不息,经过岁月的变迁es标准的升级迭代,似乎有越来越多的方法和方式供我们使用,那么那种方式才是最优的?那种才是最简洁的?这个我们一起来探讨。
省略:传统的递归方法,这里我就不说了,是最传统也是最笨的方法。
方法一:es5使用filter
使用Array.prototype.filter()方法,对元素进行过滤;
相关资料:Array.prototype.filter()
var array = [2, "2", 2, "2"]; // es5 使用filter function unique(array) { var obj = {}; return array.filter(function (item, index) { var fullItem = (typeof item + item); return obj.hasOwnProperty(fullItem) ? false : (obj[fullItem] = true); }); } console.log(unique(array)); //[2,"2"]
方法二:使用es6 Set
Set里的元素只能出现一次,即元素是唯一的。
下面的代码中也使用了(...)扩展语句,简单来说就是把数组转换成n个对象的方法。
相关链接:Set
var array = [2, "2", 2, "2"]; //es6 使用Set特性(Set元素只会出现一次,即元素是唯一的) let unique = (array) => [...new Set(array)]; //(...)扩展语句,简单来说就是把数组参数转换为多个对象参数 console.log(unique(array)); //[2,"2"]
方法三:使用es6 Map
Map也是es6新出的数据类型,方法set、has、get、clear、delete、keys都挺好用的。
相关链接:Map
var array = [2, "2", 2, "2"]; //es6 Map 本质使用的还是Array.prototype.filter() function unique(array) { let m = new Map(); return array.filter((item) => !m.has(item) && m.set(item, 1)); } console.log(unique(array));
总结
个人觉得最优的方案是第二种!欢迎补充,欢迎指正~
javascript数组去重方法汇总相关推荐
- JavaScript 数组去重方法合集(简洁易懂)
JavaScript数组去重 JavaScript去重的七种方法 简单易懂 方法一:暴力去重法 // 暴力去重法 function ArrayIsUnique (array) {if (!Array. ...
- javascript数组去重方法性能测试比较
昨天参加的一个前端面试,其中有一题数组去重,首先想到的是对象存键值的方法,代码如下 方法一:(简单存键值) Array.prototype.distinct1 = function() {var i= ...
- Javascript数组去重方法
目录 什么是数组去重? 1.利用sort排序去重 2.利用indexOf去重 3.new Set 什么是数组去重? 把重复多余的元素剔除掉,我们常利用以下方法去重,方法很多,随便列举两种 1.利用so ...
- JavaScript数组去重方法整理
常见的包括三类:暴力式嵌套遍历,先排序后遍历,词典式一次遍历. 这里只贴代码吧.可直接放在浏览器的控制台运行.详细的介绍文章(含参考文章的链接)在 http://borninsummer.com/b ...
- 六种方法实现JavaScript数组去重
tip:有问题或者需要大厂内推的+我脉脉哦:丛培森 ٩( 'ω' )و [本文源址:http://blog.csdn.net/q1056843325/article/details/73277063 ...
- javascript数组去重的10种方法
亲爱的小伙伴,对于数组javascript中的数组去重方法你知道多少种呢?学会如何对数组进行去重对于javascript的学习来说也是十分重要的,下边就让我来分享一下我所知道的集中数组去重的方法吧! ...
- JavaScript数组去重的五种方法
JavaScript数组去重的五种方法 先简单准备一个数组,用于方法的实验: let array = [1,1,2,3,4,4,1,5,6,6,7,7,7]; console.log(`去重前的数组: ...
- JavaScript数组去重算法实例
本文主要介绍了JavaScript数组去重算法,结合实例形式总结分析了JavaScript数组去重相关的读写.遍历.比较.排序等操作及算法改进相关实现技巧,需要的朋友可以参考下 测试用例: arr = ...
- JavaScript数组去重—ES6的两种方式
说明 JavaScript数组去重这个问题,经常出现在面试题中,以前也写过一篇数组去重的文章,(JavaScript 数组去重的多种方法原理详解)但感觉代码还是有点不够简单,今天和大家再说两种方法,代 ...
最新文章
- R语言使用psych包进行探索性因子分析EFA、使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix into correlation matrix)
- Java的新项目学成在线笔记-day13(九)
- django-oscar-paypal出现UnicodeEncodeError: 'latin-1' codec can't encode characters in position XXXX
- 5G的场景、需求、通信速率
- MYSQL返回指定时间间隔函数DATE_SUB和TO_DAYS详解
- linux传输tcp命令,Linux tcpdump命令帮助和示例
- js获取日期实例之昨天今天和明天、后天
- 【Elasticsearch】倒排索引原理
- eclipse 输入卡顿_解决eclipse卡顿
- cogs 315. [POJ3255] 地砖RoadBlocks
- 寒冬不怕!印度互联网市场潜力巨大
- 【渝粤题库】陕西师范大学209004道德教育案例研究 作业 (高起专)
- 我参加NVIDIA Sky Hackathon 训练文件的路径设置
- jquery中的各种动画效果
- Java后端面试(四)
- 穆穆推荐-软件销售行业软件公司销售参考操作手册-之2-软件公司销售团队的组建及岗位分类
- 纳米材料与技术类毕业论文文献有哪些?
- jquery中的find()和next()的用法及区别
- Python 常用标准库介绍
- 设计模式 考试题+答案