有多个数组(个数不一定!!很重要),例如: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实现过这种效果,求解。
2 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
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
炎炎设计
TA贡献1808条经验 获得超4个赞
结果示例里的第四行应该是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)
添加回答
举报
0/150
提交
取消