如何提取API响应中嵌套的tags数据并保存到单个数组变量
首先得纠正你原代码里的语法错误:JS里数组中的对象需要用{}包裹,不然会触发语法报错,正确的API响应数据应该是这样:
const response = [ { id: 1, tags: [{ data: "save1" }] }, { id: 2, tags: [{ data: "save2" }] }, { id: 3, tags: [{ data: "save3" }] } ];
接下来用map方法就能轻松实现需求,map会遍历数组里的每一项,返回你想要的新元素:
const newArr = response.map(item => ({ [item.tags[0].data]: undefined })); console.log(newArr); // 输出:[{save1: undefined}, {save2: undefined}, {save3: undefined}]
补充说明:
- 如果你的
tags其实是单个对象(可能笔误写成了数组[]),比如tags: { data: "save1" },那代码改成这样即可:const newArr = response.map(item => ({ [item.tags.data]: undefined })); - 你示例里的
{save1}本质是键为save1、值默认undefined的对象,要是需要给值的话,比如改成{ value: "save1" },只需要把代码里的[item.tags[0].data]: undefined换成value: item.tags[0].data就行。
内容的提问来源于stack exchange,提问作者user20237991
相关产品推荐
相关产品推荐

