js 数组对象如何去重
时间: 2024-06-17 22:06:44 浏览: 64
JavaScript中可以使用Set对象来实现数组去重。Set是一种集合,其中不会出现重复的元素。我们可以将数组转换为Set,然后再将Set转换回数组即可。
以下是示例代码:
```javascript
let arr = [1, 2, 3, 3, 4, 4, 5];
let uniqueArr = Array.from(new Set(arr));
console.log(uniqueArr); // [1, 2, 3, 4, 5]
```
在这里,我们首先使用new Set(arr)将数组转换为Set,然后使用Array.from()将Set转换为数组。这样就得到了一个去重后的数组。
相关问题
js 数组对象去重foreach
在JavaScript中,可以使用数组对象的`forEach`方法来对数组进行遍历操作。而对于数组去重,可以结合`forEach`方法和其他一些数组方法来实现。
下面是使用`forEach`方法进行数组对象去重的示例代码:
```javascript
let arr = [1, 2, 2, 3, 4, 4, 5];
let uniqueArr = [];
arr.forEach(function(item) {
if (!uniqueArr.includes(item)) {
uniqueArr.push(item);
}
});
console.log(uniqueArr); // 输出:[1, 2, 3, 4, 5]
```
在上述代码中,我们首先创建了一个空数组`uniqueArr`用于存储去重后的结果。然后使用`forEach`方法遍历原始数组`arr`,对于每个元素,判断它是否已经存在于`uniqueArr`中,如果不存在,则将其添加到`uniqueArr`中。
这样就可以通过`forEach`方法实现数组对象的去重操作。
js 数组对象去重map
要在JavaScript中对数组对象进行去重并使用Map,可以使用以下方法:
方法一:使用Map数据结构来去重数组,遍历数组的每一个元素,将元素作为key存储到Map中。由于Map中不允许重复的key值,最终得到的就是去重后的结果。具体实现如下:
```javascript
function unique(arr) {
let map = new Map();
let res = [];
for (let i = 0; i < arr.length; i++) {
if (map.has(arr[i])) {
map.set(arr[i], true);
} else {
map.set(arr[i], false);
res.push(arr[i]);
}
}
return res;
}
```
方法二:使用双重for循环来遍历数组,比较每一个元素的id值,如果存在相同的id值,则使用splice方法删除重复元素。具体实现如下:
```javascript
function deweight() {
for (let i = 0; i < this.arr.length - 1; i++) {
for (let j = i + 1; j < this.arr.length; j++) {
if (this.arr[i].id == this.arr[j].id) {
this.arr.splice(j, 1);
j--;
}
}
}
console.log(this.arr);
}
```
方法三:与方法二类似,使用for循环遍历数组,并使用一个对象来记录已经出现过的id值,如果id值不存在于对象中,则将其添加到新数组中。具体实现如下:
```javascript
function deweight() {
let newArr = [];
let obj = {};
for (var i = 0; i < this.arr.length; i++) {
if (!obj[this.arr[i].id]) {
newArr.push(this.arr[i]);
obj[this.arr[i].id = true;
}
}
console.log(newArr);
}
```
以上就是三种使用Map去重数组对象的方法。你可以根据具体需求选择其中一种方法来使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [数组去重的几种方法](https://blog.csdn.net/m0_72838183/article/details/127120806)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Js数组对象去重的几种方法](https://blog.csdn.net/m0_59381867/article/details/120725031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文
相关推荐














