如何将包含Map的嵌套列表转换为仅含uid字段值的嵌套列表
最优实现方案
注意原输入结构存在笔误:[{name:"Mary, uid: 2}] 中Mary后缺少闭合双引号,实际处理前需先修正数据格式。
核心逻辑是遍历外层二维数组,提取每个子数组首个元素的uid字段后重新封装为单元素数组即可,时间复杂度为O(n),仅需一次遍历,无冗余计算。
JavaScript 实现
const origin = [[{name:"John", uid: 1}], [{name:"Mary", uid: 2}]] const target = origin.map(subArr => [subArr[0].uid])
如果需要兼容数据结构异常的场景,可以加可选链做兜底,避免运行时报错:
const target = origin.map(subArr => [subArr?.[0]?.uid ?? null])
Python 实现
origin = [[{"name":"John", "uid": 1}], [{"name":"Mary", "uid": 2}]] target = [[sub_arr[0]["uid"]] for sub_arr in origin]
异常兼容版本:
target = [[sub_arr[0].get("uid") if sub_arr else None] for sub_arr in origin]
内容的提问来源于stack exchange,提问作者William
相关产品推荐
相关产品推荐

