如何在JavaScript中将指定对象转换为特定格式的数组?
JavaScript 对象转指定结构数组的实现方法
方法一:使用 Object.entries() + Array.map()
这是最简洁直观的现代实现方式,Object.entries() 会将对象转换为 [键, 值] 格式的二维数组,再通过 map() 遍历生成目标结构:
const obj = { "One": "1", "Two": "2", "Three": "3" }; const options = Object.entries(obj).map(([label, value]) => ({ value, label })); console.log(options); // 输出结果: // [ // { value: "1", label: "One" }, // { value: "2", label: "Two" }, // { value: "3", label: "Three" } // ]
方法二:兼容旧环境的 Object.keys() 遍历方案
如果需要兼容不支持 Object.entries() 的旧版浏览器,可以用 Object.keys() 获取所有键名,再遍历取值构建目标数组:
const obj = { "One": "1", "Two": "2", "Three": "3" }; const options = Object.keys(obj).map(key => ({ value: obj[key], label: key })); console.log(options); // 输出结果与方法一一致
两种方法都是纯函数式实现,不会修改原对象,返回全新的目标数组结构,能满足绝大多数业务场景需求。
内容的提问来源于stack exchange,提问作者Syed Sakib
相关产品推荐
相关产品推荐

