js数组去重

简介: js数组去重

1.用Es6的Set方法

Array.from(new Set(arr));[...new Set(arr)]

2.使用双重for循环,再利用数组的splice方法去重(ES5常用)

let arr = [1, 3, 4, 2, 7, 5, 9, 0, 5, 3, 5, 8, 2, 3, 4, 7, 5, 2, 1, 0];
for (let i = 0; i < arr.length; i++) {
   
   for (let j = i + 1; j < arr.length; j++) {
   
      if (arr[i] === arr[j]) {
   
           arr.splice(j, 1);
           j--;
      }
  }
}

3.利用数组的includes去重

let arr = [1,3,4,2,7,5,9,0,5,3,5,8,2,3,4,7,5,2,1,0];
let result = [];
arr.forEach((currentValue)=>{
   
 if(!result.includes(currentValue)){
   
    result.push(currentValue);
 }
});

4.利用对象的key不能重复去重

let arr = [1,3,4,2,7,5,9,0,5,3,5,8,2,3,4,7,5,2,1,0];
let obj ={
   };
for(let i = 0;i<arr.length;i++){
   
  obj[arr[i]] = true;
}
const result = Object.keys(obj);

5.使用数组的filter和indexOf方法去重 (利用indexOf原理,总是找到出现第一次元素的位置就返回)

let arr = [1,3,4,2,7,5,9,0,5,3,5,8,2,3,4,7,5,2,1,0];
const result = arr.filter((currentValue,ind,self)=>{
   
  return self.indexOf(currentValue)===ind;
});

6.利用ES6中的Map方法去重

let arr = [1,3,4,2,7,5,9,0,5,3,5,8,2,3,4,7,5,2,1,0];
let map1 = new Map();
arr.forEach((item)=>{
   
   if(!map1.has(item)) map1.set(item,true);
});
let reslut = Array.from(map1.keys());
相关文章
|
6月前
|
JavaScript 小程序
js数组去重的10种有效方法 vue 数组去重
js数组去重的10种有效方法 vue 数组去重
|
6月前
|
JavaScript 前端开发
js中数组对象去重的方法
js中数组对象去重的方法
|
6月前
|
存储 JavaScript 前端开发
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
【面试题】JS的14种去重方法,看看你知道多少(包含数组对象去重)
109 0
|
JavaScript 算法
JS数组去重的6种算法实现
JS数组去重的6种算法实现
57 0
|
14天前
|
前端开发 JavaScript 算法
使用 JavaScript 数组方法实现排序与去重
【10月更文挑战第21天】通过灵活运用 `sort()` 方法和 `filter()` 方法,我们可以方便地实现数组的排序和去重。同时,深入理解排序和去重的原理,以及根据实际需求进行适当的优化,能够更好地应对不同的情况。可以通过实际的项目实践来进一步掌握这些技巧,并探索更多的应用可能性。
93 59
|
1月前
|
JavaScript 索引
js数组去重的常见方法
js数组去重的常见方法
32 0
|
4月前
|
JavaScript
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
JS 数组去重(含简单数组去重【5种方法】、对象数组去重【2种方法】)
45 0
|
6月前
|
JavaScript
分享经典面试题:JS数组去重的多种方法
分享经典面试题:JS数组去重的多种方法
|
6月前
|
JavaScript
js多维数组去重并使具有相同属性的对象数量相加
js多维数组去重并使具有相同属性的对象数量相加
32 1
|
6月前
|
JavaScript
js数组去重
js数组去重
39 1