数组去重(数组去重排序)

数组去重

一、什么是数组去重

二、方法一:使用ES6 Set

三、方法二:使用for循环

四、方法三:使用reduce函数

五、总结

一、什么是数组去重

在编程中,有时候我们会遇到一个数组中存在重复元素的情况,而我们希望得到一个去除重复元素的新数组。这就是所谓的数组去重。

二、方法一:使用ES6 Set

ES6中引入了Set数据结构,Set的特点是不允许有重复的元素。我们可以利用Set来实现数组去重。

具体操作如下:

1. 定义一个空的Set对象,用来存放不重复的元素。

2. 遍历原始数组,将元素添加到Set中。

3. 将Set转化为数组,得到去重后的新数组。

以下是使用ES6 Set实现数组去重的示例代码:

```javascript

const arr = [1, 2, 3, 3, 4, 5, 5];

const newArr = Array.from(new Set(arr));

console.log(newArr); // [1, 2, 3, 4, 5]

```

三、方法二:使用for循环

如果我们不想使用ES6的特性,也可以通过for循环来实现数组去重。

具体操作如下:

1. 定义一个空数组用来存放不重复的元素。

2. 使用for循环遍历原始数组,对每一个元素进行判断:

- 如果当前元素在结果数组中不存在,则将其添加到结果数组中。

- 如果当前元素已经存在于结果数组中,则忽略。

3. 返回结果数组,即为去重后的新数组。

以下是使用for循环实现数组去重的示例代码:

```javascript

const arr = [1, 2, 3, 3, 4, 5, 5];

const newArr = [];

for (let i = 0; i < arr.length; i++) {

if (newArr.indexOf(arr[i]) === -1) {

newArr.push(arr[i]);

}

console.log(newArr); // [1, 2, 3, 4, 5]

```

四、方法三:使用reduce函数

另一种常用的方法是使用reduce函数来实现数组去重。

具体操作如下:

1. 使用reduce函数遍历原始数组,对每一个元素进行判断:

- 如果当前元素在结果数组中不存在,则将其添加到结果数组中。

- 如果当前元素已经存在于结果数组中,则忽略。

2. 返回结果数组,即为去重后的新数组。

以下是使用reduce函数实现数组去重的示例代码:

```javascript

const arr = [1, 2, 3, 3, 4, 5, 5];

const newArr = arr.reduce((result, current) => {

if (result.indexOf(current) === -1) {

result.push(current);

}

return result;

}, []);

console.log(newArr); // [1, 2, 3, 4, 5]

```

五、总结

数组去重是一个常见的编程需求,我们可以使用ES6 Set、for循环或reduce函数来实现。以上介绍的三种方法各有优劣,可以根据具体情况选择合适的方法。希望本文对你理解数组去重有所帮助。

标签列表