reduce()进行数组去重 代码
时间: 2023-03-15 11:02:21 浏览: 63
reduce()可以用来去除数组中重复的项,代码如下:arr = [1,2,3,4,5,2,3,4]result = arr.reduce((unique, item) => unique.includes(item) ? unique : [...unique, item], []);console.log(result); // [1,2,3,4,5]
相关问题
reduce实现数组去重
要使用reduce实现数组去重,可以使用以下代码:
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.reduce((acc, cur) => {
if (!acc.includes(cur)) {
acc.push(cur);
}
return acc;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
在reduce的初始值中传入一个空数组,然后在回调函数中判断当前元素是否已经存在于累加器中,如果不存在,则将其添加到累加器中。最后返回累加器即可得到去重后的数组。
javascript数组去重代码
当我们需要对JavaScript数组进行去重时,可以使用以下几种方法:
1. 使用Set数据结构:Set是ES6中新增的数据结构,它可以存储唯一的值。我们可以将数组转换为Set,然后再将Set转换回数组即可实现去重。
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
2. 使用filter方法:利用filter方法遍历数组,返回只包含唯一值的新数组。
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.filter((value, index, self) => {
return self.indexOf(value) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
3. 使用reduce方法:利用reduce方法遍历数组,将不重复的值添加到新数组中。
```javascript
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.reduce((prev, curr) => {
if (!prev.includes(curr)) {
prev.push(curr);
}
return prev;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```