史上最全JavaScript数组去重的十种方法(推荐)
一、前言:
我们在实际工作中,或者在面试找工作时,都会用到或者被问到一个问题,那就是“数组如何去重”。是的,这个问题有很多种解决方案,看看下面的十种方式吧!
二、数组去重方式大汇总:
Methods 1: 思路:定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Methods 2: 思路:先将原数组排序,在与相邻的进行比较,如果不同则存入新数组。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Methods 3: 利用对象属性存在的特性,如果没有该属性则存入新数组。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Methods 4: 利用数组的indexOf下标属性来查询。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Methods 5: 利用数组原型对象上的includes方法。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Methods 6: 利用数组原型对象上的 filter 和 includes方法。
?
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Methods 7: 利用数组原型对象上的 forEach 和 includes方法。
?
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Methods 8: 利用数组原型对象上的 splice 方法。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Methods 9: 利用数组原型对象上的 lastIndexOf 方法。
?
1 2 3 4 5 6 7 8 9 10 11 |
|
Methods 10: 利用 ES6的set 方法。
?
1 2 3 4 5 6 7 8 |
|
史上最全JavaScript数组去重的十种方法(推荐)相关推荐
- 史上最全JavaScript数组对象详解(二)
JavaScript数组对象详解(二) 上一篇博客我们讲到了JavaScript数组对象的创建,访问和属性,接下来一篇博客主要讲一下JavaScript数组对象的方法及使用.说到数组的方法,主要分为两 ...
- 史上最全JavaScript数组方法
一.以下是不改变数组本身的方法 1.concat()用于合并两个或多个数组 const a = ['你是','什么'] const b = ['牛马'] const c = a.concat(b) c ...
- 呕心沥血集齐史上最全 JavaScript最实用工具函数大全,建议收藏!
为元素添加on方法 Element.prototype.on = Element.prototype.addEventListener; NodeList.prototype.on = functio ...
- 计算机配置好坏怎么看,电脑配置怎么看 史上最全的查看电脑配置好坏方法
原标题:电脑配置怎么看 史上最全的查看电脑配置好坏方法 很多电脑新手朋友都喜欢问:电脑配置怎么看,也就是如何看一台电脑的硬件的好坏.关于如何查看电脑配置好坏,目前网上有很多相关教程,大家可以在百度搜索 ...
- W ndows10如何清理使用痕迹,Win10 C盘突然爆满,怎么清理?史上较全的C盘清理方案,推荐收藏...
原标题:Win10 C盘突然爆满,怎么清理?史上较全的C盘清理方案,推荐收藏 有用户和老毛桃说,C盘就像是一个无底洞,无论给它分多大的分区,Windows总有办法给它填满!除了这位用户,相信很多朋友也 ...
- 联通开通流量不显示无服务器,史上最全的联通流量自助开通方法!
原标题:史上最全的联通流量自助开通方法! 天底下的流量包都在这儿,爱要不要!你的流量能HOLD住吗?哈哈,小编给你支招:以下就是给你推荐的超好用流量包订购方法!各位看官您瞧好了! 流量月包 兵马未动, ...
- 史上最全js数组,字符串方法汇总
目录 一.数组 (1)for..in一般用于遍历对象的属性 (2)for..of (3)Object.keys() (4)Object.values() (5)Object.entries() (6) ...
- 史上最全 JS 数组常用方法总结.
文章目录 js数组常用方法总结 判断是否为数组: Array.isArray() 1.0 数组新增or删除相关方法 push() 方法 末尾添加 unshift() 方法 开头添加 shift() 方 ...
- JavaScript数组去重6种方法
数组去重涉及基础知识较多,总结了以下6个方法: 双重for循环,push新数组: 双重for循环,splice原数组: 单个for循环,遍历对象属性: 单个for循环,sort排序后遍历: ES5,i ...
最新文章
- 使用Python、OpenCV计算轮廓的中心
- LINUX文件、目录权限及相关操作命令
- http://blog.csdn.net/itplus/article/details/10088625
- Linux操作(4)—— 如何安装或卸载软件
- leetcode-260.只出现一次的数字 III 解法
- linux下Oracle 10g安装(超级详细图解教程)
- 25岁“天才少年”曹原再发一篇Nature!1个月时间内的第二篇!
- spring cloud 调用接口间歇性返回http 500 - Internal Server Error的错误
- Oracle 查询练习及答案
- java selenium_关于selenium的介绍
- 转:Nginx 性能优化有这篇就够了!
- 魔改部署自己专属的合成大西瓜(三:上线篇<踩坑篇>)
- 深度学习中batch-size介绍
- 算法设计与分析——排序算法:十大排序算法总结
- 银行柜员网申计算机水平要求高吗,银行笔试通过率:看你网申如何?
- HTML和CSS基础学习
- web 前端签名插件_手写签名插件—jSignature
- vue weex 打电话
- 用eclipse europa开发web service服务 - 东写西读终见大海无量 - JavaEye技术网站
- WIndow10下安装UR机器人接口ur_rtde