1 2 3 4

js去重

1. 使用ES6的Set去重
// Set是ES6中新增的数据类型,它可以帮助我们快速去重。将数组转化为Set之后,再转化回数组即可。

```javascript
const arr = [1, 2, 3, 1, 2, 3];
const arrUnique = Array.from(new Set(arr));
```
2. 使用Map数据结构去重
// Map是一种键值对映射的数据结构,可以将数组元素作为键,值可以是任何值。利用Map的特性,我们可以快速通过键的唯一性去重。

```javascript
const arr = [1, 2, 3, 1, 2, 3];
const map = new Map();
arr.forEach(item => {
  map.set(item, item);
});
const arrUnique = Array.from(map.values());

3. 利用对象属性去重 由于对象中的属性都是唯一的,因此可以利用对象的这个特性进行数组去重。 

const arr = [1, 2, 3, 1, 2, 3]; const obj = {}; arr.forEach(item => { obj[item] = true; }); const arrUnique = Object.keys(obj).map(item => parseInt(item));

4. 使用indexOf和数组拼接实现 基于indexOf方法的实现原理是在当前元素之前寻找是否存在相同的元素,如果存在则说明当前元素不是唯一的,需要过滤掉;否则添加到新的数组中。可以使用一个空数组和indexOf方法进行数组去重。

 const arr = [1, 2, 3, 1, 2, 3]; const arrUnique = []; arr.forEach(item => { if (arrUnique.indexOf(item) === -1) { arrUnique.push(item); } });

 

posted @ 2023-03-09 10:59  无序  阅读(36)  评论(0编辑  收藏  举报