JavaScript如何将GET请求返回的JSON对象转换为指定格式对象数组
错误原因
你写的代码不生效的核心原因是 Array.from() 仅支持处理可迭代对象(比如数组、Map、Set、字符串等),而你从接口拿到的 response.data 是普通对象,本身不具备可迭代特性,因此无法直接传入Array.from()解析。
正确实现方案
两种常用实现方式均可达到需求:
- 基于
Object.entries()+map实现(写法更直观,推荐)
const result = Object.entries(response.data).map(([text, value]) => ({ text, value }))
- 搭配
Array.from实现,仅需补充对原对象的键值对转换即可:
const result = Array.from(Object.entries(response.data), ([text, value]) => ({ text, value }))
补充说明:
Object.entries()方法会将输入的普通对象转换为[[键1, 值1], [键2, 值2]]格式的二维可迭代数组,后续就可以正常遍历生成你需要的对象数组结构。
内容的提问来源于stack exchange,提问作者rudeTool
相关产品推荐
相关产品推荐

