在 javascript 中循环遍历一个不可变的 Map

用户7334203

我是 JavaScript 的新手,我必须执行一项任务,我有一个不可变的地图:

Map({
 isNamed: true,
 isMarried: "",
 isMan: false
})

现在我必须遍历这个地图,如果一个值是“”,我必须用 false 替换它,所以我的最终地图是这样的:

isNamed: true,
 isMarried: false,
 isMan: false
})

我已经使用了这样的 forEach 方法:

const prepareData = cardData.forEach((value, key, map = {}) => {
      if (value === '') {
        map[key] = false;
      } else {
        map[key] = value;
      }
      return map;
    });

但输出为 0。我错过了什么?

罗斯蒂斯拉夫

这是如何做到的:

for (let item of yourPreviousMap.entries()) {
  const [key, value] = item;
  if (value === '') {
    yourPreviousMap.set(key, false);
  }
}

或者,如果这段代码太难,或者您不想更改原始地图对象,您可以创建一个新地图:

const yourNewMap = new Map();

yourPreviousMap.forEach((value, key) => {
  yourNewMap.set(key, value === "" ? false : value);
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用.map时如何获取不可变列表中的下一个元素?

我将如何遍历Javascript中的数组,添加一个单词,然后返回一个数组(不使用map)?

使用map在javascript中实现一个函数

遍历不可变JS Map

与 javascript 中的 map() 混淆

如何循环遍历另一个对象数组中的对象数组-javascript

创建一个数组并在javascript / jquery中循环遍历

在javascript中,如何创建一个遍历所有对象的for循环?

javascript 中的 map() 内的 map() 异步

Google Map信息窗口仅显示在JavaScript中的一个标记上

是否有一个C#函数类似于JavaScript中的.Map()?

在 Javascript Map 中只有最后一个标记是可点击的

在 Javascript Map 中查找值

javascript中的map()是否同步?

(深入?)在JavaScript中复制Map

在一个循环或两个单循环的hash map的hash map中输入数据

如何遍历另一个 Map 内的 Map?

C ++:在一个循环中遍历列表和unordered_map

JavaScript _.map()与array.map(); 为什么一个在这里工作而不是另一个?

从 0 循环到一个数字并遍历数组中的所有数字(javascript)

在下一个开始之前等待上一个承诺的Javascript Map?

在javascript中遍历一个类的所有对象

嵌套JavaScript“ for”循环-为什么第一个循环没有遍历整个长度?

For 循环在另一个 for 循环 JavaScript 中

另一个 for 循环 Javascript 中的 for 循环问题

如何在JavaScript中以相反的顺序遍历Set或Map?

在 groovy 中循环遍历 Map

JavaScript - 循环遍历一次只显示一个的非重复值

如何在JavaScript中使用map()循环