var arr =
[
{value: "颜色", detail: ["红"]},
{value: "尺寸", detail: ["29cm", "30cm"]}
]
怎么操作一下转成
[
{颜色:红, 尺寸: 29cm},
{颜色:红, 尺寸: 30cm},
]
var arr =
[
{value: "颜色", detail: ["红"]},
{value: "尺寸", detail: ["29cm", "30cm"]}
]
怎么操作一下转成
[
{颜色:红, 尺寸: 29cm},
{颜色:红, 尺寸: 30cm},
]
arr.reduce(
(acc, cur) => {
const curArr = cur.detail.map((item) => ({ [cur.value]: item }))
if (acc.length) {
const next = []
acc.forEach((x) => {
curArr.forEach((y) => {
next.push({ ...x, ...y })
})
})
return next
}
return curArr
},
[]
)
相关知识可以搜下 笛卡尔乘积
13 回答13k 阅读
8 回答2.7k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答2.1k 阅读
5 回答1.3k 阅读
3 回答2.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决