当前位置:首页 > 文章列表 > 文章 > 前端 > 如何将 JavaScript 对象转换为包含嵌套 childList 的对象数组?

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

2024-12-01 13:21:48 0浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《如何将 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学习网公众号也会发布文章相关知识,快来关注吧!

win11壁纸被锁定更换不了怎么办 win11壁纸被锁定更换不了详解win11壁纸被锁定更换不了怎么办 win11壁纸被锁定更换不了详解
上一篇
win11壁纸被锁定更换不了怎么办 win11壁纸被锁定更换不了详解
Redis Stream 消息队列中如何解决用户 ID 类型转换问题?
下一篇
Redis Stream 消息队列中如何解决用户 ID 类型转换问题?
查看更多
最新文章
2. CSS 样式使用 ::after 伪元素来在图片上叠加文字: .im">
文章 · 前端   |  1小时前  |  
图片
2. CSS 样式使用 ::after 伪元素来在图片上叠加文字: .im">CSS图片上叠加文字的实现方法,主要通过使用伪元素(如 ::after)来在图片上方添加内容。以下是详细步骤和示例代码:1. HTML 结构假设你有一个包含图片的容器,结构如下:
图片
2. CSS 样式使用 ::after 伪元素来在图片上叠加文字: .im
318浏览 收藏
查看更多
课程推荐
查看更多
AI推荐
查看更多
相关文章
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码