js如何做出数据转换?

发布于 2022-09-12 23:28:33 字数 534 浏览 17 评论 0

原数组:

arr1 =[
  proId: "904811010068582400"
  proName: "建筑"
  user: [
   {id: "421080418086027265", name: "test01", dep: null},
   {id: "421080418086027266", name: "test02", dep: null}
  ]
]

前端想要将原数组转换成这种数据:

arr2= [
 {
   proId: "904811010068582400",
   proName: "建筑",
   id: "421080418086027265", 
   name: "test01", 
   dep: null
 },
 {
   proId: "904811010068582400",
   proName: "建筑",
   id: "421080418086027266", 
   name: "test02", 
   dep: null
 }
]

请问使用js该如何转换啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爺獨霸怡葒院 2022-09-19 23:28:33
const arr1 = [
    {
        proId: "904811010068582400",
        proName: "建筑",
        user: [
            { id: "421080418086027265", name: "test01", dep: null },
            { id: "421080418086027266", name: "test02", dep: null }
        ]
    }
];

// 这就句
const r = arr1.flatMap(({ proId, proName, user }) => user.map(u => ({ proId, proName, ...u })));

console.log(r);

已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。

我乃一代侩神 2022-09-19 23:28:33

你的arr1是个啥,应该是这个吧

var arr1 =[
    {
      proId: "904811010068582400",
      proName: "建筑",
      user: [
       {id: "421080418086027265", name: "test01", dep: null},
       {id: "421080418086027266", name: "test02", dep: null}
      ]
    }
]
var arr2 = arr1.reduce((res, item) => {
    let obj = {proId: item.proId, proName: item.proName}
    return res.concat(item.user.map(citem => ({...obj, ...citem})))
}, [])

已参与了 SegmentFault 思否「问答」打卡,欢迎正在阅读的你也加入。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文