<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
// ["颜色:白,类型:B", "颜色:白,类型:A", "颜色:黑,类型:B", "颜色:黑,类型:A"]
let final_arr = []
let arrs = []
let arr_copy = ''
let leg = ''
let array = [
{"skuName":"颜色","skuValues":[{"name":"白"},{"name":"黑"}]},
{"skuName":"类型","skuValues":[{"name":"B"},{"name":"A"}]},
{"skuName":"尺码","skuValues":[{"name":"S"},{"name":"L"}]},
]
array.forEach((item , index ) => {
let arr = []
item.skuValues.forEach((item_p , index_p) => {
let copy_array = ''
copy_array = item.skuName + ':' + item_p.name
arr.push(copy_array)
})
arrs.push(arr)
})
// console.log(arrs)
let result = arrs.reduce((acc, cur, index) => {
// console.log(acc , cur , index )
// 从第二项开始合并值
if (index > 0) {
let saveArr = []
acc.forEach(item => {
// console.log(item)
cur.forEach((subItem,sub_index) => {
// console.log('subItem' , subItem)
arr_copy = ''
arr_copy = item + ',' + subItem
saveArr.push(arr_copy)
})
// console.log(arr_copy)
})
acc = saveArr
}
return acc
}, arrs[0]) // 把数组的第一项传入作为初始值
if(array.length ==1) {
result = arrs
}
// console.log(result)
console.log(result)
</script>
</body>
</html>
类似于商品SKU排列组合
最新推荐文章于 2022-12-12 20:04:19 发布