function combine(sourceArr){
const result = [];
function recursiveCombine(current,index){
if(index === sourceArr.length){
result.push(current.join('-'))
return
}
for(let item of sourceArr[index]){
recursiveCombine([...current,item], index+1)
}
}
recursiveCombine([],0);
return result;
}
function combine2(sourceArr){
return sourceArr.reduce((acc,curr)=>{
const res = [];
for(let item1 of acc){
for (let item2 of curr){
res.push(`${item1}-${item2}`)
}
}
return res
})
}
const sourceArr = [
['戴尔', '苹果', '联想'],
['笔记本', '平板电脑', 'PC机', '上网本'],
['黑色', '银色', '白色'],
]
console.log(combine2(sourceArr))
console