js数组去重indexof
时间: 2023-11-16 20:01:51 浏览: 96
JS数组去重是指从一个数组中删除重复的元素,只保留不重复的元素。其中,indexOf()方法是一种常见的去重方法。它可以返回指定元素在数组中第一次出现的位置,如果没有找到该元素,则返回-1。通过遍历数组,将每个元素与数组中之前的元素进行比较,如果该元素第一次出现,则将其添加到结果数组中。引用和引用中提供了两种使用indexOf()方法进行数组去重的代码示例。其中,方式五使用了ES6中的filter()方法,而方式二使用了forEach()方法。这两种方法都可以实现数组去重,但是filter()方法更加简洁明了,而forEach()方法则更加易于理解和掌握。
相关问题
indexof 数组去重 js
以下是使用indexOf()实现数组去重的JavaScript代码示例:
```javascript
var arr = [1, 2, 3, 4, 5, 3, 6, 7, 3, 2];
var arrnew = [];
for (var i = 0; i < arr.length; i++) {
if (arrnew.indexOf(arr[i]) == -1) {
arrnew[arrnew.length] = arr[i];
}
}
console.log(arrnew); // 输出:[1, 2, 3, 4, 5, 6, 7]
```
这段代码的思路是创建一个新的空数组`arrnew`,然后遍历原始数组`arr`。对于每个元素,使用`indexOf()`方法判断它在新数组`arrnew`中是否已经存在。如果不存在(即`indexOf()`返回-1),则将该元素添加到新数组中。最后,打印新数组`arrnew`,即得到去重后的数组。
Javascript数组去重
以下是三种Javascript数组去重的方法:
1.使用Set方法进行数组去重
```javascript
const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = [...new Set(arr)];
console.log(newArr); // 输出:[1, 2, 3, 4, 5]
```
2.使用filter方法进行数组去重
```javascript
const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = arr.filter((item, index) => {
return arr.indexOf(item) === index;
});
console.log(newArr); // 输出:[1, 2, 3, 4, 5]
```
3.使用reduce方法进行数组去重
```javascript
const arr = [1, 2, 3, 3, 4, 4, 5];
const newArr = arr.reduce((prev, cur) => {
if (prev.indexOf(cur) === -1) {
prev.push(cur);
}
return prev;
}, []);
console.log(newArr); // 输出:[1, 2, 3, 4, 5]
```
阅读全文