4、数组去重. var arr = ['第一','第一','第二','第五','第五','第八','第七','第九','1','1','2'];
时间: 2024-09-07 15:02:47 浏览: 38
数组去重主要是为了从给定的一组元素中去除重复项,保留唯一的值。在JavaScript中,有多种方法可以实现数组去重:
1. 使用Set数据结构:Set是一种不允许重复值的集合,将数组转为Set,再转回数组即可去除重复。
```javascript
let arr = ['第一', '第一', '第二', '第五', '第五', '第八', '第七', '第九', '1', '1', '2'];
let uniqueArr = Array.from(new Set(arr));
```
2. 利用filter()方法:遍历数组并使用indexOf()检查元素是否存在,不存在则添加到新数组。
```javascript
uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
```
3. 应用reduce()方法:通过迭代器函数,检查当前元素是否已经存在于结果数组中。
```javascript
uniqueArr = arr.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []);
```
相关问题
数组去重. var arr = ['第一','第一','第二','第五','第五','第八','第七','第九','1','1','2'];
数组去重是指从给定的数组中移除所有重复的元素,只保留每个元素的一个实例。对于你提供的 JavaScript 示例 `arr=['第一','第一','第二','第五','第五','第八','第七','第九','1','1','2']`,可以使用多种方法来实现去重:
1. 利用Set数据结构:因为Set不允许有重复元素,所以将数组转为Set,然后再转回数组即可去除重复。
```javascript
var arr = ['第一','第一','第二','第五','第五','第八','第七','第九','1','1','2'];
var uniqueArr = Array.from(new Set(arr));
```
2. 使用filter和indexOf方法:
```javascript
uniqueArr = arr.filter((value, index, self) => {
return self.indexOf(value) === index;
});
```
3. 应用ES6 Map并转换为数组:
```javascript
let map = new Map();
uniqueArr = Array.from(map.values());
map = arr.reduce((obj, value) => {
obj[value] = true;
return obj;
}, map);
```
⦁ 数组去重,例如arr={1,2,3,4,2,10,3},重复的整数2和3仅输出第一次出现的那个,输出1,2,3,4,10
可以使用Set(集合)去重的特性来实现:
```
int[] arr = {1, 2, 3, 4, 2, 10, 3};
Set<Integer> set = new HashSet<>();
for (int i = 0; i < arr.length; i++) {
if (!set.contains(arr[i])) {
System.out.print(arr[i] + " ");
set.add(arr[i]);
}
}
```
输出:1 2 3 4 10
也可以使用双重循环进行遍历和比较,将重复的数字标记为-1,最后输出不为-1的数字:
```
int[] arr = {1, 2, 3, 4, 2, 10, 3};
for (int i = 0; i < arr.length; i++) {
if (arr[i] != -1) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
arr[j] = -1;
}
}
System.out.print(arr[i] + " ");
}
}
```
输出:1 2 3 4 10
阅读全文