如何通过循环动态创建嵌套JavaScript Map?
实现动态嵌套JavaScript Map的简洁方案
你完全可以通过循环实现动态层级的嵌套Map,完全不需要用eval这种不安全且难维护的方式。
替代硬编码的循环实现
// 假设myMap已经是初始化好的Map实例 let currentMap = myMap; for (const key of data) { // 若当前层级不存在对应键的Map,则创建新Map if (!currentMap.has(key)) { currentMap.set(key, new Map()); } // 进入下一层级的Map,继续处理后续键 currentMap = currentMap.get(key); }
代码逻辑说明
- 用
currentMap变量追踪当前操作的Map层级,初始指向最外层的myMap - 遍历
data数组中的每个键,逐层检查并创建嵌套Map - 每处理完一个键,就将
currentMap切换到对应的内层Map,直到遍历完所有层级
这个方案支持任意长度的data数组,比硬编码的写法更简洁、易维护,也避免了eval带来的安全和性能问题。
内容的提问来源于stack exchange,提问作者user16481310
相关产品推荐
相关产品推荐

