帮我写一个数组去重的方法
时间: 2023-05-16 18:05:04 浏览: 150
当然可以,以下是一个简单的 JavaScript 数组去重方法:
```javascript
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
```
这个方法使用了 ES6 中的 Set 数据结构,它可以自动去重。我们先将数组转换成 Set,然后再将 Set 转换回数组即可。
如果你需要支持旧版浏览器,可以使用以下代码:
```javascript
function uniqueArray(arr) {
var result = [];
for (var i = 0; i < arr.length; i++) {
if (result.indexOf(arr[i]) === -1) {
result.push(arr[i]);
}
}
return result;
}
```
这个方法使用了 indexOf 方法来判断元素是否已经存在于结果数组中。如果不存在,则将其添加到结果数组中。
希望这个方法能够帮到你!
相关问题
帮我用js写一个数组去重
好的,以下是用 JavaScript 实现数组去重的代码:
```javascript
function uniqueArray(arr) {
return Array.from(new Set(arr));
}
```
使用方法:
```javascript
const arr = [1, 2, 2, 3, 3, 3, 4, 5, 5];
const uniqueArr = uniqueArray(arr);
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
希望能帮到你!
帮我写一个C语言数组去重算法
当需要对一个数组进行去重时,可以使用如下的C语言代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 2, 4, 5, 3, 6, 1};
int len = sizeof(arr) / sizeof(int);
int i, j, k;
for (i = 0; i < len; ++i) {
for (j = i + 1; j < len;) {
if (arr[j] == arr[i]) {
for (k = j; k < len; ++k) {
arr[k] = arr[k + 1];
}
--len;
} else {
++j;
}
}
}
for (i = 0; i < len; ++i) {
printf("%d ", arr[i]);
}
return 0;
}
```
该算法的思路是:遍历数组中的每个元素,然后再遍历该元素后面的所有元素,如果后面的元素与当前元素相同,则将其删除(即将后面的元素向前移动一位),直到后面没有相同的元素为止。
阅读全文