如何从Map<string, List<string>>类型对象中获取键名存入数组
实现方法
Map的forEach遍历回调默认支持第二个参数获取当前遍历项的键名,你可以直接在原有逻辑基础上新增收集键名的逻辑:
let contactCards = currentUser.contacts; // <- 该变量为Map对象 const ids = []; const keyArr = []; // 存储键名的数组 contactCards.forEach((folder, keyName) => { // 收集键名 keyArr.push(keyName); // 原有收集值的逻辑,注意原代码存在变量名笔误,迭代变量为contact而非contacts folder.forEach(contact => { ids.push(contact); }); });
如果你不需要同时处理Map的值,只想单独提取所有键名,可以用更简洁的写法:
// 直接获取Map所有键并转为数组 const keyArr = Array.from(contactCards.keys());
内容的提问来源于stack exchange,提问作者Daniel Corona
相关产品推荐
相关产品推荐

