数组去重
时间: 2023-06-22 11:29:20 浏览: 67
数组去重可以使用 Set 数据结构或者循环遍历的方式。使用 Set 数据结构可以非常简单地去重,因为 Set 只会存储唯一值,所以可以直接将数组转换为 Set,然后再转换回数组即可。
示例代码如下:
```
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
如果不使用 Set,可以通过循环遍历的方式来去重。遍历数组中的每个元素,如果该元素在一个临时数组中不存在,则将其加入该数组。最后返回该临时数组即可。
示例代码如下:
```
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = [];
for (let i = 0; i < arr.length; i++) {
if (uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
相关问题
vue数组去重合并数组
您好!请问您需要实现的是两个数组的合并去重,还是多个数组的合并去重呢?以下是一些可能适用的方法:
1. ES6 Set
使用ES6中的Set数据结构可以方便地实现数组去重,然后将去重后的数组再与另一个数组进行合并即可:
```javascript
let arr1 = [1,2,3];
let arr2 = [2,3,4];
let set = new Set([...arr1, ...arr2]);
let result = Array.from(set);
console.log(result); // [1,2,3,4]
```
2. filter方法
通过Array.prototype.filter()方法可以实现数组去重,然后将去重后的数组再与另一个数组进行合并:
```javascript
let arr1 = [1,2,3];
let arr2 = [2,3,4];
let result = arr1.concat(arr2.filter(item => !arr1.includes(item)));
console.log(result); // [1,2,3,4]
```
3. lodash库
lodash是一个常用的JavaScript工具库,它提供了很多方便实用的方法,其中就包括数组去重和合并:
```javascript
let arr1 = [1,2,3];
let arr2 = [2,3,4];
let result = _.union(arr1, arr2);
console.log(result); // [1,2,3,4]
```
希望这些方法能对您有所帮助!
golang数组去重
在Golang中,可以使用以下方法对数组进行去重:
1. 使用一个空的map来记录数组中的元素,并筛选出唯一的元素。然后将这些唯一的元素重新存入一个新的数组。
```go
func RemoveDuplicates(arr []int) []int {
uniqueMap := make(map[int]bool)
uniqueArr := []int{}
for _, num := range arr {
if !uniqueMap[num] {
uniqueMap[num] = true
uniqueArr = append(uniqueArr, num)
}
}
return uniqueArr
}
```
2. 对原始数组进行排序,并从头到尾遍历数组,跳过重复的元素。将不重复的元素存入新的数组。
```go
import "sort"
func RemoveDuplicates(arr []int) []int {
sort.Ints(arr)
uniqueArr := []int{arr[0]}
for i := 1; i < len(arr); i++ {
if arr[i] != arr[i-1] {
uniqueArr = append(uniqueArr, arr[i])
}
}
return uniqueArr
}
```
你可以调用上述函数 `RemoveDuplicates` 来移除一个整数数组中的重复元素。