给定一个数组22,56,89,88,47,55,88,69,56,45,78,12,14。删除重复的元素。使用两种以上的方法完成。js
时间: 2023-06-03 14:07:09 浏览: 54
可以使用 Set 来删除数组中的重复元素。Set 是 ES6 引入的一种新的数据类型,它类似于数组,但可以保证其中的元素不重复。以下是使用 Set 的方法:
方法一:
```js
const arr = [22, 56, 89, 88, 47, 55, 88, 69, 56, 45, 78, 12, 14];
const set = new Set(arr); // 创建 Set 对象
const newArr = Array.from(set); // 将 Set 对象转换为数组
console.log(newArr); // [22, 56, 89, 88, 47, 55, 69, 45, 78, 12, 14]
```
方法二:
```js
const arr = [22, 56, 89, 88, 47, 55, 88, 69, 56, 45, 78, 12, 14];
const newArr = [...new Set(arr)]; // 使用扩展运算符将 Set 对象转换为数组
console.log(newArr); // [22, 56, 89, 88, 47, 55, 69, 45, 78, 12, 14]
```
除了 Set 外,还可以使用 reduce 函数来删除重复的元素。reduce 函数可以将数组中的每一个元素依次传入一个回调函数进行处理,并返回一个累计的结果。以下是使用 reduce 函数的方法:
方法三:
```js
const arr = [22, 56, 89, 88, 47, 55, 88, 69, 56, 45, 78, 12, 14];
const newArr = arr.reduce(function(acc, cur) { // 传入两个参数:累计结果 acc 和当前元素 cur
if (acc.indexOf(cur) === -1) { // 如果累计结果中不包含当前元素
acc.push(cur); // 将当前元素加入累计结果中
}
return acc; // 返回累计结果
}, []);
console.log(newArr); // [22, 56, 89, 88, 47, 55, 69, 45, 78, 12, 14]
```
以上三种方法都可以达到删除重复元素的效果,具体使用哪种方法可以根据实际情况进行选择。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)