帮我写一段JavaScript数组去重代码
时间: 2023-03-13 20:20:53 浏览: 112
var arr = [1, 2, 3, 4, 4, 5]
var newArr = arr.filter(function(item, index, self) {
return self.indexOf(item) == index;
})
相关问题
用js编写一段数组去重的代码
### 回答1:
下面是一段使用 JavaScript 去重数组的代码:
```
function removeDuplicates(arr) {
return Array.from(new Set(arr));
}
```
这段代码使用了 JavaScript 中的 `Set` 对象,它可以存储唯一的值。我们将数组传递给 `Set` 构造函数,并使用 `Array.from` 将结果转换回数组。
使用方法:
```
let array = [1, 2, 3, 1, 2, 3];
let uniqueArray = removeDuplicates(array);
console.log(uniqueArray);
```
输出:
```
[1, 2, 3]
```
### 回答2:
在JS中,可以使用Set或者filter方法来实现数组去重。
方法一:使用Set
```javascript
let arr = [1, 2, 2, 3, 3, 4];
let uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4]
```
方法二:使用filter方法
```javascript
let arr = [1, 2, 2, 3, 3, 4];
let uniqueArr = arr.filter((item, index, array) => {
return array.indexOf(item) === index;
});
console.log(uniqueArr); // [1, 2, 3, 4]
```
以上是两种常见的去重方法,可根据实际需求选择其中一种。
### 回答3:
下面是使用JavaScript编写的一段数组去重的代码:
```javascript
function removeDuplicates(arr) {
// 使用Set去除重复元素,并将Set转换为数组
return Array.from(new Set(arr));
}
// 示例测试
var arr = [1, 2, 2, 3, 4, 4, 5];
var newArr = removeDuplicates(arr);
console.log(newArr); // [1, 2, 3, 4, 5]
```
这段代码定义了一个`removeDuplicates`函数,它接受一个数组作为参数,并使用Set数据结构来去除数组中的重复元素。最后,将Set转换为数组并返回。
示例中,我们将数组`[1, 2, 2, 3, 4, 4, 5]`传递给`removeDuplicates`函数,返回去重后的数组`[1, 2, 3, 4, 5]`,并通过`console.log`打印结果。
vue写一段数组对象去重的代码
以下是一段使用ES6 Set和数组的filter方法来去重的代码:
```javascript
const arr = [{ id: 1, name: 'John' }, { id: 2, name: 'Mike' }, { id: 1, name: 'John' }, { id: 3, name: 'Mary' }];
const uniqueArr = [...new Set(arr.map(item => JSON.stringify(item)))].map(item => JSON.parse(item));
console.log(uniqueArr); // [{id: 1, name: "John"}, {id: 2, name: "Mike"}, {id: 3, name: "Mary"}]
```
解释:
1. 利用map方法将数组中的对象转换为字符串形式,方便比较。
2. 利用Set去重,再将Set转换为数组形式。
3. 利用map方法将字符串形式的对象转换为对象形式。
注意:
1. 这种方法会将对象中属性的顺序打乱。
2. 对象中如果有函数等非JSON格式的属性,会被忽略。
阅读全文