写一个数组去重的demo
时间: 2023-11-04 16:14:18 浏览: 93
以下是一个基于ES6的数组去重的示例代码:
```javascript
const arr = [1, 2, 2, 3, 3, 4, 5, 5];
const uniqueArr = [...new Set(arr)]; //使用Set去重,再转为数组
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
另外,也可以使用循环遍历的方式进行去重:
```javascript
const arr = [1, 2, 2, 3, 3, 4, 5, 5];
const uniqueArr = [];
for(let i = 0; i < arr.length; i++) {
if(uniqueArr.indexOf(arr[i]) === -1) { //如果该元素没有出现过
uniqueArr.push(arr[i]); //则将其加入结果数组中
}
}
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
但是,这种方式的时间复杂度较高,不如使用Set去重。
相关问题
php二维数组解析,PHP二维数组的去重问题解析
PHP二维数组是指一个数组中每个元素又是一个数组,也称为多维数组。解析二维数组主要是遍历数组中的元素,可以使用foreach循环来实现。具体代码如下:
```
$array = array(
array('id' => 1, 'name' => 'Tom'),
array('id' => 2, 'name' => 'Jack'),
array('id' => 3, 'name' => 'Mary')
);
foreach ($array as $key => $value) {
echo $value['id'] . ' ' . $value['name'] . '<br>';
}
```
上述代码中,$array是一个二维数组,使用foreach循环遍历数组中的元素,$key表示元素的下标,$value表示元素的值,$value['id']和$value['name']分别表示元素中的id和name值。
二维数组的去重问题可以使用array_unique函数来实现,但是需要注意的是,该函数只能去除一维数组中的重复值,对于二维数组需要进行二次处理。具体代码如下:
```
$array = array(
array('id' => 1, 'name' => 'Tom'),
array('id' => 2, 'name' => 'Jack'),
array('id' => 3, 'name' => 'Mary'),
array('id' => 2, 'name' => 'Jack')
);
$temp = array();
foreach ($array as $key => $value) {
if (!in_array($value, $temp)) {
$temp[] = $value;
}
}
print_r($temp);
```
上述代码中,$array是一个二维数组,使用foreach循环遍历数组中的元素,使用in_array函数判断元素是否已经存在于$temp数组中,如果不存在则将元素添加到$temp数组中,最终得到的$temp数组就是去重后的二维数组。
写一个java函数计算重复去重的Demo
好的,以下是一个Java函数计算重复去重的Demo:
```java
public static int[] removeDuplicates(int[] nums) {
if (nums == null || nums.length == 0) {
return new int[0];
}
Arrays.sort(nums);
int len = nums.length;
int index = 0;
for (int i = 1; i < len; i++) {
if (nums[i] != nums[index]) {
index++;
nums[index] = nums[i];
}
}
return Arrays.copyOfRange(nums, 0, index + 1);
}
```
这个函数接受一个整数数组作为参数,返回一个去重后的整数数组。它使用了快速排序算法对数组进行排序,然后遍历数组,将重复的元素去除,最后返回去重后的数组。
阅读全文