JS二維數組排序組合
需求是這樣的:http://q.cnblogs.com/q/29093/
這里簡述一下:
現在有一個不確定長度的數組.
比如:
var temp=[
["Fu","Hai","Huan"],
["Wei","You"],
["Chong","Tong","Zhong"]
];
每一個數組的長計都不確定 ,
如何 遍歷這個數組
得到如: FuWeiChong ,FuWeiTong
這樣的數據
這是一個JS二維數組排序組合問題,用遞規法解決如下:
function doExchange(doubleArrays){
var len=doubleArrays.length;
if(len>=2){
var len1=doubleArrays[0].length;
var len2=doubleArrays[1].length;
var newlen=len1*len2;
var temp=new Array(newlen);
var index=0;
for(var i=0;i<len1;i++){
for(var j=0;j<len2;j++){
temp[index]=doubleArrays[0][i]+
doubleArrays[1][j];
index++;
}
}
var newArray=new Array(len-1);
for(var i=2;i<len;i++){
newArray[i-1]= doubleArrays[i];
}
newArray[0]=temp;
return doExchange(newArray);
}
else{
return doubleArrays[0];
}
}
測試代碼:
1 var temparr=[
2 ["Fu","Hai","Huan"],
3 ["Wei","You"],
4 ["Chong","Tong","Zhong"]];
5 var ret = doExchange(temparr);
6 console.log("共有:" + ret.length + "種組合!");
7 for (var i = 0; i < ret.length; i++) {
8 console.log(ret[i]);
9 }
效果如下:


浙公網安備 33010602011771號