假设有一个数组 arr = [1, 2, 3, 1, 2, 4, 5, 3],我们需要将其中的重复元素去掉,得到一个新的数组。
方法一:使用 Set
Set 是 ES6 中新增的数据结构,它可以用来存储一组唯一的值。我们可以将原数组转换为 Set,然后再将 Set 转换回数组,这样就能去掉重复元素了。
```javascript
let arr = [1, 2, 3, 1, 2, 4, 5, 3]
let newArr = Array.from(new Set(arr))
console.log(newArr)
```
方法二:使用 filter
我们可以遍历原数组,使用 filter 方法过滤掉重复元素。具体做法是,对于原数组中的每个元素,我们判断它是否在数组中的索引位置和当前位置相等,如果相等,则说明它是第一次出现,否则就是重复元素,应该被过滤掉。
```javascript
let arr = [1, 2, 3, 1, 2, 4, 5, 3]
let newArr = arr.filter((item, index) => arr.indexOf(item) === index)
console.log(newArr)
```
方法三:使用 reduce
我们可以使用 reduce 方法,将重复元素从原数组中剔除。具体做法是,对于原数组中的每个元素,我们判断它是否已经出现过,如果没有出现过,则将它添加到结果数组中,否则不做处理。
```javascript
let arr = [1, 2, 3, 1, 2, 4, 5, 3]
let newArr = arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], [])
console.log(newArr)
```
以上三种方法都可以实现数组去重,具体使用哪种方法取决于个人偏好和实际情况。