
将 javascript 对象转换为对象数组
问题:
如何转换以下原始 JavaScript 对象为具有以下格式的对象数组?
原始对象:
const obj = {
"a": ["a1", "a2"],
"b": ["b1", "b2", "b3"],
// ......
};目标对象数组:
立即学习“Java免费学习笔记(深入)”;
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 的对象数组?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号