js map 方法去重
时间: 2023-11-18 22:41:47 浏览: 115
使用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);
res.push(arr[i]);
}
}
return res;
}
```
这段代码遍历数组,如果Map中不存在当前元素,则将其设置为Map的key,并将其值设为true,然后将该元素添加到结果数组中。如果Map中已经存在当前元素,则跳过该元素。最后返回结果数组即可实现数组的去重。这种方法简单快捷。
相关问题
js map数组去重
JS中的Map对象可以用于数组去重,它是ES6中新出的语法,本质上也是键值对,只是其键不局限于普通对象的字符串。使用Map对象去重的方法是遍历数组,如果Map对象中不存在当前元素,则将其添加到Map对象中,并将其添加到新数组中。如果Map对象中已经存在当前元素,则不将其添加到新数组中。除了Map对象,还可以使用双层for循环和Array.filter和map对象数组去重等方法进行数组去重。
js new map去重
你可以使用JavaScript中的Set数据结构来去重。Set是一种只存储唯一值的集合。如果你有一个数组,想要去除其中的重复元素,你可以将该数组转换为Set,然后再将其转换回数组。这样就能够实现去重的效果。
下面是一个使用Set去重的示例代码:
```javascript
const array = [1, 2, 3, 1, 2, 3];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // [1, 2, 3]
```
在这个示例中,我们创建了一个包含重复元素的数组`array`。然后,我们使用`new Set(array)`将其转换为Set,这将自动去除重复元素。最后,我们通过扩展运算符(`...`)将Set转换回数组,并将结果存储在`uniqueArray`变量中。
这样,你就可以使用`uniqueArray`来获取去重后的数组了。
请注意,Set中的元素是按照它们的插入顺序进行存储的,所以最终得到的去重数组中元素的顺序可能与原始数组中的顺序不完全相同。如果你需要保持原始顺序,可以考虑使用其他方法来实现去重。
阅读全文