js遍历多个数组,实现元素交叉

有多个数组(个数不一定!!很重要),例如:letarr1=[1,2],arr2=[3,4],arr3=[5,6];我想要这种结果:[
1-3-5,
1-3-6,
1-4-5,
4-4-6,
2-3-5,
2-3-6,
2-4-5,
2-4-6,
]请问有没有同学用js实现过这种效果,求解。
茅侃侃
浏览 268回答 2
2回答

神不在的星期二

letsource=[[1,2],[3,4],[5,6],]//计算2个数组时一共组合情况functionreduceTwoArr(source1,source2){letresult=[]source1.forEach(item=>{source2.forEach(item2=>{result.push(`${item}${item2}`)})})returnresult}//计算多个数组时一共组合情况functionreduceMultipleArr(arr=[]){returnarr.reduce((acc,currentItem)=>{returnreduceTwoArr(acc,currentItem)})}letresult=reduceMultipleArr(source)console.log(result)GitHub

炎炎设计

结果示例里的第四行应该是1-4-6而不是4-4-6吧letarr1=[1,2],arr2=[3,4],arr3=[5,6];functionwhatever(...arrs){returnarrs.reduce((arr1,arr2)=>arr1.flatMap(e=>arr2.map(e2=>`${e}-${e2}`)))}letresult=whatever(arr1,arr2,arr3)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript