js map 是否相等
时间: 2023-11-22 11:05:25 浏览: 51
在 JavaScript 中,Map 对象是一种键值对的集合,其中每个键只能出现一次。如果两个 Map 对象具有相同的键和值,则认为它们是相等的。可以使用以下方法来比较两个 Map 对象是否相等:
1. 遍历两个 Map 对象,依次比较它们的键和值是否相等。
2. 将两个 Map 对象转换为数组,然后使用深度比较函数来比较它们是否相等。
以下是第二种方法的示例代码:
```
function isEqual(map1, map2) {
if(map1.size !== map2.size) {
return false;
}
for(let [key, value] of map1) {
if(!map2.has(key)) {
return false;
}
if(value !== map2.get(key)) {
return false;
}
}
return true;
}
const map1 = new Map([
["key1", "value1"],
["key2", "value2"]
]);
const map2 = new Map([
["key1", "value1"],
["key2", "value2"]
]);
console.log(isEqual(map1, map2)); // true
```
在上面的代码中,我们定义了一个 `isEqual` 函数来比较两个 Map 对象是否相等。它首先检查两个 Map 对象的大小是否相等。然后遍历第一个 Map 对象的所有键值对,检查它们是否在第二个 Map 对象中存在,并且对应的值是否相等。如果所有的键值对都匹配,则认为这两个 Map 对象是相等的。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)