悬赏问答
1回答 628查看
悬赏 4 金币
好喜欢
第一是后端返回的数据:  需要处理成第二info的数据进行对应显示

  1. let obj = {
  2.   id: 4,
  3.   name: "水水",
  4.   Models: [
  5.     {
  6.       tip: "小样",
  7.       peak: "小王",
  8.       tipList: ["01", "02"], //小样
  9.       peakList: ["03", "04"], //小王
  10.     },
  11.     {
  12.       tip: "小李",
  13.       peak: "小峰",
  14.       tipList: ["01", "02"], //小李
  15.       peakList: ["03", "04"], //小峰
  16.     },
  17.   ],
  18. };
复制代码

我需要处理成:

  1. let info = {
  2.   id: 4,
  3.   name: "水水",
  4.   Models: [
  5.     {
  6.       dataTable:[
  7.         {
  8.           name: tip,//小样
  9.           dayTime:tipList  //["01", "02"]
  10.         },{
  11.           name: peak,//小王
  12.           dayTime:peakList //["03", "04"]
  13.         }
  14.       ]
  15.     },
  16.     {
  17.       dataTable:[
  18.         {
  19.           name: tip,//小李
  20.           dayTime:tipList  //["01", "02"]
  21.         },{
  22.            name: peak,//小峰
  23.           dayTime:peakList //["03", "04"]
  24.         }
  25.       ]
  26.     },
  27.   ],
  28. };
复制代码
最佳答案
水煮鱼2022-10-23 12:05:15
  1. const info = {
  2.   ...obj,
  3.   Models: obj.Models.map((model) => ({
  4.     dataTable: Object.entries(model)
  5.       .filter(([, v]) => !Array.isArray(v))
  6.       .map(([k, v]) => ({ name: v, dayTime: model[k + 'List'] })),
  7.   })),
  8. };
复制代码
  1. {
  2.   id: 4,
  3.   name: '水水',
  4.   Models: [
  5.     {
  6.       dataTable: [
  7.         { name: '小样', dayTime: [ '01', '02' ] },
  8.         { name: '小王', dayTime: [ '03', '04' ] }
  9.       ]
  10.     },
  11.     {
  12.       dataTable: [
  13.         { name: '小李', dayTime: [ '01', '02' ] },
  14.         { name: '小峰', dayTime: [ '03', '04' ] }
  15.       ]
  16.     }
  17.   ]
  18. }
复制代码

回答 1 条
您需要登录后才可以回帖 登录 | 注册
Smilies Code
高级模式