登录
首页 >  文章 >  前端

如何将 JavaScript 对象转换为包含嵌套 childList 的对象数组?

时间:2024-12-01 13:21:48 410浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《如何将 JavaScript 对象转换为包含嵌套 childList 的对象数组? 》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

如何将 JavaScript 对象转换为包含嵌套 childList 的对象数组?

将 JavaScript 对象转换为对象数组

问题:

如何转换以下原始 JavaScript 对象为具有以下格式的对象数组?

原始对象:

const obj = {
  "a": ["a1", "a2"],
  "b": ["b1", "b2", "b3"],
  // ......
};

目标对象数组:

const list = [
  {
    id: 1,
    name: 'a',
    childList: [
      { id: 3, name: 'a1' },
      { id: 4, name: 'a2' },
    ]
  },
  {
    id: 2,
    name: 'b',
    childList: [
      { id: 5, name: 'b1' },
      { id: 6, name: 'b2' },
      { id: 7, name: 'b2' },
    ]
  }
];

解决方案:

使用 Object.entries() 和 reduce() 方法:

let obj = {
  "a": ["a1", "a2"],
  "b": ["b1", "b2", "b3"],
  // ......
};
let id = 1;
Object.entries(obj).reduce((acc, [name, val]) => {
  acc.push({
    id: id++,
    name,
    childList: val.map(name => ({ id: id++, name })),
  });
  return acc;
}, []);

结果:

此代码将生成与目标对象数组相同的对象数组。

终于介绍完啦!小伙伴们,这篇关于《如何将 JavaScript 对象转换为包含嵌套 childList 的对象数组? 》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>