给定一个Javascript二维数组,如何得到其笛卡尔积。varTest=newArray();Test[0]=newArray(1,2,3);Test[1]=newArray(4,5,6);求大神解答!
2 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
改编了一个大神给的解决方案! vardata=newArray(newArray(1,2,3),newArray(4,5,6));varresult=[];console.log(data);functiondescartes(arrIndex,aresult){if(arrIndex>=data.length){result.push(aresult);return;}varaArr=data[arrIndex];for(vari=0;ivartheResult=aresult.slice(0,aresult.length); theResult.push(aArr[i]);descartes(arrIndex+1,theResult);}}descartes(0,[]);console.log(result);
Qyouu
TA贡献1786条经验 获得超11个赞
不就是循环一下么functiondescartes(dimensionX,dimensionY){varxLen,yLen;if(!(xLen=dimensionX.length)||!(yLen=dimensionY.length))return[];varproducts=[];for(vari=0;ifor(varj=0;j products.push([dimensionX[i],dimensionY[j]]) }}returnproducts;}是这个意思么
添加回答
举报
0/150
提交
取消