ES6+中将扁平化对象转换为单属性对象数组的最简洁方法是什么
最简洁实现代码
仅需一行即可完成转换:
const res = Object.entries(originObj).map(([k, v]) => ({ [k]: v }))
实现说明
- 第一步调用
Object.entries()方法,将输入的扁平化对象转换为[键, 值]子项组成的二维数组,示例对象调用后会得到[['key 1', 'value 1'], ['key 2', 'value 2'], ['key 3', 'value 3']] - 第二步调用
map方法遍历每个键值对,利用ES6的计算属性语法动态生成仅包含单个键值对的对象,最终得到目标结构数组。
完整可运行示例
// 输入的原始扁平化对象 const originObj = { 'key 1': 'value 1', 'key 2': 'value 2', 'key 3': 'value 3' }; // 执行转换 const result = Object.entries(originObj).map(([key, value]) => ({ [key]: value })); // 打印输出验证 console.log(result); /* 输出: [ { 'key 1': 'value 1' }, { 'key 2': 'value 2' }, { 'key 3': 'value 3' } ] */
兼容性说明
Object.entries是ES2017标准中引入的API,符合ES6+的语法要求,所有现代浏览器、Node.js 8.0+版本均原生支持,无需额外依赖。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

