js 数组去重总结
栏目: JavaScript · 发布时间: 5年前
内容简介:ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。思路为map对象里没有数组元素的属性,就在map对象里添加数组元素的属性,并赋值为1,然后在过滤。通过判断第二层循环,去重的数组中是否含有该元素,如果有就退出第二层循环,如果没有j==result.length就相等,然后把对应的元素添加到最后的数组里面。
1、es6 set
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
let arr = [1,2,3,4,3,2,3,4,6,7,6]; let unique = (arr)=> [...new Set(arr)]; unique(arr);//[1, 2, 3, 4, 6, 7]
2、es6 map
思路为map对象里没有数组元素的属性,就在map对象里添加数组元素的属性,并赋值为1,然后在过滤。
let arr = [1,2,3,4,3,2,3,4,6,7,6]; let unique = (arr)=> { let seen = new Map(); return arr.filter((item) => { return !seen.has(item) && seen.set(item,1); }); }; unique(arr);
3、for 双重循环
通过判断第二层循环,去重的数组中是否含有该元素,如果有就退出第二层循环,如果没有j==result.length就相等,然后把对应的元素添加到最后的数组里面。
let arr = [1,2,3,4,3,2,3,4,6,7,6]; let result = []; for(var i = 0 ; i < arr.length; i++) { for(var j = 0 ; j < result.length ; j++) { if( arr[i] === result[j]){ break; }; }; if(j == result.length){ result.push(arr[i]); }; }; console.log(result);
4、indexOf
indexOf() 方法可返回某个指定的元素在数组中首次出现的位置。如果没有就返回-1。
let arr = [1,2,3,4,3,2,3,4,6,7,6]; let unique = (arr) => { let result = []; for( var i = 0 ; i < arr.length ; i++){ if(result.indexOf(arr[i]) == -1){ result.push(arr[i]) } }; return result; }; unique(arr);
5、indexOf filter
let arr = [1,2,3,4,3,2,3,4,6,7,6]; let unique = (arr) => { return arr.filter((item,index) => { return arr.indexOf(item) === index; }) }; unique(arr);
6、 排序 后去重
先数组排序,然后判断是否是第一个元素并且前一个元素是否和后一个元素相同,不同就加进新数组
let arr = [1,2,3,4,3,2,3,4,6,7,6]; let unique = (arr) => { let arrNew = arr.sort((a,b)=>a-b); let seen,result = []; for(var i = 0 ; i < arrNew.length ;i++){ if(!seen || seen != arrNew[i]){ result.push(arrNew[i]); }; seen = arrNew[i] }; return result; }; unique(arr);
以上所述就是小编给大家介绍的《js 数组去重总结》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
python 3标准库
道格·赫尔曼 / 机械工业出版社 / 2018-10 / 199
在本书中,你会看到用来处理文本、数据类型、算法、数学计算、文件系统、网络通信、Internet、XML、Email、加密、并发性、运行时和语言服务等各个方面的实用代码和解决方案。在内容安排上,每一节都会全面介绍一个模块,并提供一些很有价值的补充资源链接,这使得本书成为一本理想的Python标准库参考手册。一起来看看 《python 3标准库》 这本书的介绍吧!