使用js实现一个数组去重的方法
时间: 2023-10-17 22:09:27 浏览: 79
有多种方法可以实现数组去重。以下是其中一种使用javascript的方法:
```
function removeDuplicates(arr) {
let uniqueArr = [];
for(let i = 0; i < arr.length; i++) {
if(uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
return uniqueArr;
}
```
该方法通过循环遍历数组中的每个元素,并检查该元素是否已经存在于新数组中。如果不存在,则将其添加到新数组中。最后,返回新数组即可。
这种方法的时间复杂度为O(n^2),因为要在新数组中查找元素。如果数组很大,这种方法可能会变得很慢。为了更好的性能,可以使用不同的算法,例如哈希表或Set。
相关问题
js 用函数实现一个数组去重的方法
可以使用函数来封装数组去重的方法,如下所示:
```
function unique(arr) {
return Array.from(new Set(arr));
}
```
这里使用了 ES6 中的 Set 数据结构来去重,然后将 Set 转换为数组并返回。
或者使用以下的函数:
```
function unique(arr) {
let result = [];
for (let i = 0; i < arr.length; i++) {
if (result.indexOf(arr[i]) === -1) {
result.push(arr[i]);
}
}
return result;
}
```
这里使用了数组的 indexOf() 方法来判断元素是否已经存在于结果数组中,如果不存在则将其加入结果数组中。
使用函数封装数组去重的好处是可以方便地复用该方法,以及将其放在工具类中方便调用。
用js编写一个数组去重的方法
可以使用 Set 数据结构来实现数组去重。Set 对象允许存储任何类型的唯一值,所以可以利用 Set 的特性将数组中重复的值去掉。
以下是一个使用 Set 实现数组去重的例子:
```javascript
function unique(arr) {
return Array.from(new Set(arr));
}
// 示例
let arr = [1, 2, 2, 3, 3, 3];
let newArr = unique(arr);
console.log(newArr); // [1, 2, 3]
```
首先,使用 `new Set(arr)` 创建一个 Set 对象并传入原数组,这将会返回一个 Set 集合,其中包含了原数组中的所有不同的值。然后,使用 `Array.from()` 方法将 Set 集合转换为数组并返回,这样就得到了去重后的数组。
阅读全文