使用splice()方法将数组的每一个元素依次与其他元素做比较,发现重复元素,删除,将已知数组var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5,5,5,5];去重
时间: 2023-08-19 19:27:38 浏览: 147
数组重复元素去除
好的,那我来具体讲解一下这种方法的实现步骤:
1. 遍历数组,从第一个元素开始依次与后面的元素比较,如果找到重复元素,则使用splice()方法删除后面的元素;
2. 遍历完整个数组后,返回去重后的数组。
代码实现如下:
```
function unique(arr) {
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
return arr;
}
let arr = [1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5, 5, 5, 5];
let result = unique(arr);
console.log(result); // [1, 23, 3, 5, 6, 7, 9, 8]
```
需要注意的是,在使用splice()方法删除数组元素时,会改变数组的长度,因此需要使用j--来避免漏删元素。此外,这种方法的时间复杂度比较高,为O(n^2),不适合处理大规模的数组。
阅读全文