reactjs - 在 javascript 中循环一个不可变的 Map
问题描述
我是 javascript 的新手,我必须执行一项任务,我有一个不可变的地图:
Map({
isNamed: true,
isMarried: "",
isMan: false
})
现在我必须遍历这个 Map,如果一个值为“”,我必须用 false 替换它,所以我的最终 Map 是这样的:
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);
});
推荐阅读
- java - @Inject 在无参数公共方法上
- css - 每第 N 个元素重复 CSS 样式
- c++ - CMake 在 Windows 上与 dll 链接 - 未定义的参考
- javascript - 使用 v-on:change 将特定对象元素传递给使用 Vue 和 Vuetify 的函数
- c# - 我可以通过网络流将位图文件从 csharp 应用程序发送到 android 应用程序吗?
- python - python sympy中对产品的期望
- javascript - 如何使用 nodejs 使用子进程运行命令?
- python - Tabula-py 打印表格两次
- javascript - DataTable 导出数据 -> 自定义 HTML 剥离
- python - 如何使用“pytest”命令运行测试