当前位置: 首页 > 知识库问答 >
问题:

javascript - js如何把下列数据处理成目标想要的数据 ?

弓宏茂
2023-12-12

js数据结构处理 后台返回的接口数据如下

{    "result": [        {            "name": "参数1",            "secondName": [                "高度",                "马赫数"            ]        },        {            "name": "参数2",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数3",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数4",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数5",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数6",            "secondName": [                "前向",                "垂向",                "侧向"            ]        }    ],    "success": true}

想把res.result变成如下格式

js数据结构处理后台返回的接口数据如下

{    "result": [        {            "name": "参数1",            "secondName": ‘高度‘        },        {            "name": "参数1",            "secondName": ‘马赫数‘        },        {            "name": "参数2",            "secondName": "前向",                    },        {            "name": "参数2",            "secondName": "垂向",                    },        {            "name": "参数2",            "secondName": "侧向",                    },            }

以此类推....

没有思路,求指点

共有2个答案

李谦
2023-12-12

reduce功能很强大,可以学习下

result.reduce((arr, item) => arr.concat(item.secondName.map((sitem, sindex) => ({name: item.name, secondName: sitem, index: arr.length + sindex}))), [])
曹超
2023-12-12
let originalData = {    "result": [        {            "name": "参数1",            "secondName": [                "高度",                "马赫数"            ]        },        {            "name": "参数2",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数3",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数4",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数5",            "secondName": [                "前向",                "垂向",                "侧向"            ]        },        {            "name": "参数6",            "secondName": [                "前向",                "垂向",                "侧向"            ]        }    ],    "success": true};let transformedData = {    result: []};for (let item of originalData.result) {    for (let name of item.secondName) {        transformedData.result.push({               name: item.name,            secondName: name        });    }}console.log(transformedData);

image.png

 类似资料:
  • 年代久远的项目,前台需要更新,后台因为没有人维护,所以数据结构无法更改 后台传递给前台的一个如下对象 要求把h0-h23的数据处理成echarts的x y轴的数据 例如 xData=["00:00","01:00"......] 一一对应

  • (自己模拟的数据效果) 如上路径动画,目前的问题是运行的坐标数据是依照地图来的 需要转换为画布能够展示的范围,但运行数据之前差别大部分情况下都很小 我要怎样处理会合适一点? help大佬们

  • 想问下大家使用vue的时候,对于api返回的数据是如何进行处理的,有时候api返回的是数字,前端需要搞个字典映射,最常见的就是性别 res.data 通常就是 { name: aaa, sex: 1, type: 3 ... } 我也是用一个itemData = res.data 去接收 当我有多个这种映射值需要转换的时候,而我该如何让代码尽量好维护? 目前我能想到的方法: computed计算属

  • 用户勾选某一个分类,一次性查询该分类里的所有商品信息,并创建价格任务。 业务员在价格操作的时候,对刚才创建的所有商品信息进行价格操作,根据基准价做涨幅,每个商品都有不同的基准价,现在的问题就是数据量太大,如果一次性操作一万条商品数据,还要根据基准价做涨幅,有什么好的方法?前端如果展示的话,每条商品的涨幅后价格都要显示,请问该怎么操作比较好,后端这边应该怎么进行处理大批量的数据?

  • js:求一个数据处理方法,例如上述例子, tableList处理之后,可以得到 之前有如下方案 但是不能兼容account.t_sub_account_.*的场景,哪位大佬可以帮忙完善下吗?

  • 如何对异步获取数据排序处理? 后端返回的数据是按staff默认排序的: 前端获取到数据还想根据appeal_type和detail_appeal_type进行排序处理,变成相邻的数据,求教怎么处理,我用sort处理但是没生效,反而更错乱了。