Javascript 递归代替循环中遇到的问题。求助!!
功能是对数组进行排列组合。
想用递归替代循环
在递归出口出打印数值没有问题
返回之后打印却是undefined,这是为什么呢?
求助!
var testarrrrrr=[ ["A","B","C"],["A","B","C"],["A","B","C"]];
var match1;
testarrrrrr=doCombination(testarrrrrr);
console.log(testarrrrrr);
function PPP(arr1,arr2)
{
var arrp=[];
var combine;
for(var i = 0;i<arr1.length;i++)
{
for(var j=0;j<arr2.length;j++)
{
combine=arr1[i]+arr2[j];
arrp.push(combine);
}
}
return arrp;
}
function doCombination(arr)
{
doC(0,arr,match1);
console.log(match1);
/* for(var i=0;i<arr.length-1;i++)
{
if(i==0) {
match1 = PPP(arr[0], arr[1]);
}
else
{
match1=PPP(match1,arr[i+1]);
}
}*/
return match1;
}
function doC(x,arr3,match) {
if (x ==arr3.length-1)
{
console.log(match);
return match;
}
if(x==0) {
match = PPP(arr3[0], arr3[1]);
}
else
{
match=PPP(match,arr3[x+1]);
}
doC(x+1,arr3,match);
}