求解下面JavaScript算法?真没分了 希望大神帮帮我

var arr1 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9,0]
];
var arr2 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10,11,12,13]
];
//解答题:用同一个函数得到 arr得到 147,148,149,140,157 .... arr2得到 14710,14711,14712 .....

注意是调用一个通用方法,3个嵌套for 4个嵌套for我知道,但我不想把几个嵌套写死

js二维数组排列组合示例

var MyString = function(){
this.myarr = [];
this.changearr = function(addarr){
if(this.myarr.length==0) {
this.myarr = addarr;
return;
}
var tmp = [];
for(var i=0,ilen=this.myarr.length;i<ilen;i++){
for(var j=0,jlen=addarr;j<jlen;j++){
tmp.push(""+this.myarr[i]+addarr[j]);
}
}
this.myarr = tmp;
}
this.toString = function(){
return this.myarr.join(" ");
}
}
var str = new MyString();
for(var n=0,nlen=arr.length; n<nlen;n++){
str.changearr(arr[n]);
}
console.log(str.toString());

如果有帮助,希望结贴