gpt4 book ai didi

javascript - 如何通过 Lodash 拆分包含另一个数组的对象数组

转载 作者:行者123 更新时间:2023-11-29 16:05:38 24 4
gpt4 key购买 nike

我有这个数组:[{ name: "A1", arr: [1,2] }, { name: "A2", arr: [1] }]

如何将第一个对象拆分为两个只包含一个数组值的对象?

结果应该是:

[{name: "A1", arr: [1] }, {name: "A1", arr: [2]}, {name: "A2", arr: [1] }]

我没有在 lodash 文档中找到任何可以帮助解决此问题的通用工具。 (实际上我很少使用 lodash,所以这就是我要求帮助我的原因)。

感谢您的帮助!

最佳答案

这是 #Array.reduce 的一种方法功能:

[{ name: "A1", arr: [1,2] }, { name: "A2", arr: [1] }].reduce((acc, val) => {
val.arr.forEach(el => {
acc.push({name: val.name, arr: [el]});
});
return acc;
}, [])

编辑

使用 mapconcat 作为@Ian Segers 的建议(谢谢):

[{ name: "A1", arr: [1,2] }, { name: "A2", arr: [1] }].reduce((acc, val) => 
acc.concat(val.arr.map(el => {
return {name: val.name, arr: [el]}
})), [])

最好的问候,

关于javascript - 如何通过 Lodash 拆分包含另一个数组的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43659676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com