JS数组去重常用方法
2020-04-22 01:14
525 查看
数组去重的常用方式
第一种,利用 ES6 的 Set结构 最简单的去重方式
var arr = [1, 2, 3,3,3,5,4,5,5,5,5,1,2,2]; let set = new Set([...arr]); console.log(1, set); let unique0 = (arr) => [...new Set(arr)]; console.log(0, unique0(arr));
第二种 利用双重循环 splice 来去重
var arr = [1, 2, 3,3,3,5,4,5,5,5,5,1,2,2]; function unique(arr) { for(let i = 0; i < arr.length; i++){ for(let j = 0; j < arr.length; j++){ if(arr[i] == arr[j]){ arr.splice(j + 1, 1); } } } return arr; } console.log(2, unique(arr));
第三种 利用 sort 排序来去重
var arr = [1, 2, 3,3,3,5,4,5,5,5,5,1,2,2]; function unique1(arr){ arr.sort((a, b) => a - b); for(let i = 0; i < arr.length; i ++){ if(arr[i] == arr[i + 1]){ arr.splice(i, 1); } } return arr; } console.log(3, unique1(arr));
第四种,利用对象的属性不能重复来去重
function unique2(arr){ let obj = {}; for(let i = 0; i < arr.length; i++){ if(!obj[arr[i]]){ obj[i] = arr[i]; } } return Object.values(obj); } console.log(4, unique2(arr));
第五种,利用数组的方法 includes (检查数组上是否含有该值) 来去重
function unique3(arr){ for(let i = 0; i < arr.length; i++){ if(!arr.includes(arr[i])){ arr.push(arr[i]); } } return arr; } console.log(5, unique3(arr));
第六种 利用数组的方法 indexOf 来去重
let unique4 = (arr) => { for(let i = 0; i < arr.length; i++){ if(arr.indexOf(arr[i]) === -1){ arr.push(arr[i]); } } return arr; } console.log(6, unique4(arr));
第七种 利用 Map 结构来去重
function unique5(arr) { let map = new Map(); for(let i = 0; i < arr.length; i++){ if(map.get(arr[i]) == undefined){ map.set(Symbol("key"), arr[i]); } } return map.values(); } console.log(7, unique5(arr));
第八种 利用 Map 结构的 has 方法去重
let unique6 = (arr) => { let map = new Map(); let arr1 = new Array(); for(let i = 0; i < arr.length; i++){ if(map.has(arr[i] == true)){ map.set(arr[i], "不推荐"); }else { map.set(arr[i], "不推荐!"); arr1.push(arr[i]); } } return arr1; } console.log(8, unique6(arr));
结果
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- js 数组常用方法
- js数组去重的三种常用方法总结
- Js数组和字符串常用方法
- js中数组Array的一些常用方法总结
- js数组操作的常用方法
- JS数组的常用方法总结
- js中数组去重的常用方法
- js数组去重的三种常用方法总结
- js常用方法总结-数组篇
- js数组中的常用方法总结
- js数组去重的常用方法总结
- js与jquery常用数组方法总结
- js 合并两个 数组的常用方法
- js创建数组的四种方法、常用方法、属性
- js中数组/字符串常用属性方法归纳
- 三种常用的js数组去重方法
- js数组操作常用方法
- js中常用数组方法concat join push pop slice splice shift
- js 数组常用方法
- JS数组的一些常用方法