如何在Node.js或JavaScript中读取嵌套Map内的值?
如何读取嵌套Map中的值?
在JavaScript里,Map的核心取值方法是get(key),你的代码里是嵌套Map结构,所以需要分步骤(或者链式)获取:
1. 基础取值方式
先从外层newMap拿到内部的map1,再从map1里取对应键的值:
// 第一步:获取外层Map中键为"anoop"对应的内层Map const innerMap = newMap.get("anoop"); // 第二步:从内层Map中取值 const usage1 = innerMap.get('usagesUnkown'); console.log(usage1); // 输出 10 const usage2 = innerMap.get('usagesUnkown2'); console.log(usage2); // 输出 10
2. 链式调用简化写法
如果确定外层键和内层键都存在,可以直接链式调用get:
const usageValue = newMap.get("anoop").get('usagesUnkown'); console.log(usageValue); // 输出 10
3. 遍历嵌套Map的所有内容
如果需要遍历整个嵌套Map的所有键值对,可以用forEach嵌套:
newMap.forEach((innerMap, outerKey) => { console.log(`外层Map键:${outerKey}`); innerMap.forEach((value, innerKey) => { console.log(`内层Map键:${innerKey},对应值:${value}`); }); });
4. 安全取值(避免键不存在报错)
如果不确定某个键是否存在,建议先判断,防止调用get后返回undefined再调用get导致报错:
if (newMap.has("anoop")) { const innerMap = newMap.get("anoop"); if (innerMap.has('usagesUnkown')) { console.log(innerMap.get('usagesUnkown')); } else { console.log('内层Map中没有"usagesUnkown"这个键'); } } else { console.log('外层Map中没有"anoop"这个键'); }
内容的提问来源于stack exchange,提问作者Yun
相关产品推荐
相关产品推荐

