javascript - Javascript - 将 Map 对象的所有键设置为一个值
问题描述
我在这里有这段代码:
const myMap = new Map()
myMap.set("banana", true)
myMap.set("apple", true)
Object.keys(myMap).forEach(key => {myMap.set(key, false)})
console.log(myMap.get("banana")) // returns true should return false
console.log(myMap.get("apple")) // returns true should return false
我想将它的所有值设置Map
为false
,但它根本不起作用。
我试过这样的事情:
Object.keys(myMap).forEach(key => myMap[key] = false)
但这也不起作用。
有没有办法将a 的所有键填充Map
为特定值?
解决方案
您必须专门调用Map.set
才能在 Map 中设置值。myMap[key] = value
仅适用于普通对象。您还应该使用myMap.keys()
来获取地图键的迭代器:
const myMap = new Map();
myMap.set("banana", true);
myMap.set("apple", true);
[...myMap.keys()].forEach((key) => {
myMap.set(key, false);
});
console.log(myMap.get("banana"));
console.log(myMap.get("apple"));
推荐阅读
- html - 更改容器的动画和位置
- excel - Excel VBA - 尝试循环和比较日期时类型不匹配(英国格式)
- javascript - React,如何使大操作(例如过滤和映射 10000 行数组)异步以避免阻塞 UI?
- javascript - 改装自定义轮播以包括导航点
- node.js - 如何使位于 VM 上的 NodeJS 服务器在主机 PC 上可见?
- python - Pandas 将 muliindex 更改为索引和多列
- reactjs - 在网站的多个页面上具有相同对象名称的道具
- python - 使用python从json文件中提取嵌套元素
- reactjs - 如何修复打字稿反应中按钮的位置
- karate - 空手道 - java 11 - 问题