JS二维数组排序组合-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

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 }

效果如下:



本文转自Artwl博客园博客,原文链接:http://www.cnblogs.com/artwl/,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: