JS中如何简洁地将键值对对象转换为仅含单个键值对的对象数组
Python 实现方案
你需要的转换可以通过Python内置的列表推导式完成,代码简洁易读,无额外依赖:
# 原枚举对象 status = {1: "new", 2: "working", 3: "finished", 4: "failed"} # 转换逻辑 status_list = [{k: v} for k, v in status.items()]
方案说明
- 本质是遍历原字典的所有键值对,每对构造为独立的单键字典存入列表,是该场景下的最优实现:所有转换逻辑都必须遍历全部键值对才能完成,底层时间复杂度固定为O(n),不存在性能更优的实现
- 写法符合Python官方推荐的编码规范,逻辑一目了然,可维护性强
- 兼容所有Python3版本,运行稳定可靠
JavaScript 实现方案(如果你使用JS环境)
如果是前端/Node.js场景,用Object.entries加数组map方法即可实现:
// 原枚举对象 const status = {1: "new", 2: "working", 3: "finished", 4: "failed"} // 转换逻辑 const statusList = Object.entries(status).map(([k, v]) => ({[k]: v}))
内容的提问来源于stack exchange,提问作者Liviu Ganea
相关产品推荐
相关产品推荐

