首页 > 解决方案 > 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

我想将它的所有值设置Mapfalse,但它根本不起作用。

我试过这样的事情:

Object.keys(myMap).forEach(key => myMap[key] = false)

但这也不起作用。

有没有办法将a 的所有键填充Map为特定

标签: javascript

解决方案


您必须专门调用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"));


推荐阅读