mark一些我常用的数组去重的方法
1、set方法
const arr = [1,2,3,1,1,2,3,4,2,1,2,3,4,4,2,2,1,2,3,4]function reset (arr) {
return Array.from(new Set(arr))
}let Arr = reset(arr)
console.log(Arr) //[1, 2, 3, 4]
Set类似于数组,区别在于它所有的成员都是唯一的,不能有重复的值2、for循环遍历
const arr = [1,2,3,1,1,2,3,4,2,1,2,3,4,4,2,2,1,2,3,4]for(let i = 0;
i
两层for循环 比较arr[i]到 arr[i+1~arr.length] 相同即splice(i+1, 1)去重3、利用IndexOf去重
const arr = [1,2,3,1,1,2,3,4,2,1,2,3,4,4,2,2,1,2,3,4]
let Arr = []
for(let i = 0;
i
indexOf()方法如果找不到就会返回-1【javascript基础|javascript 数组去重常用方法汇总】4、sort()排序去重
let arr = [1,2,3,1,1,2,3,4,2,1,2,3,4,4,2,2,1,2,3,4]
arr = arr.sort()
let Arr = []
for(let i = 0;
i
先使用sort方法排序好数组。然后比较数组的前后两项是否相同5、利用includes方法
const arr = [1,2,3,1,1,2,3,4,2,1,2,3,4,4,2,2,1,2,3,4]
let Arr = []
for(let i = 0;
i
同indexOf方法。includes方法用户检测数组是否存在传入的值,存在返回true6、利用filter方法
const arr = [1,2,3,1,1,2,3,4,2,1,2,3,4,4,2,2,1,2,3,4]
let Arr = arr.filter((item, i, self) => self.indexOf(item, 0) === i)
filter是es6的过滤数组的方法,使用filter结合indexOf方法能比较有效的去重还有其他很多种数组去重方式就不一一列举了,总之灵活善用方法总会有最优去重法;
一些方法参考了这位大佬的总结,更多请看这位大佬的文章 ==>地址
…end
推荐阅读
- 前端|《前端》vue的自我修养(webpack版)--export ,export default 和 import 区别以及用法
- 单元测试|什么是单元测试,如何去写一个单元测试
- HtmlAgilityPack中使用xpath获取属性值
- ajax|Ajax跨域和同源的问题
- javascript|比较for、for...in、for...of、forEach的区别
- Node.js|Express框架概述
- vue.js|加载页面全局设置spinning
- javascript|jQuery插件
- 消息管理平台|纯后端如何写前端(我用了低代码平台)