需求是这样的: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://artwl.cnblogs.com

本文首发博客园,版权归作者跟博客园共有。转载必须保留本段声明,并在页面显著位置给出本文链接,否则保留追究法律责任的权利。

JS二维数组排序组合的更多相关文章

  1. js 二维数组排序sort()函数

    一.按数值排序 var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]]; arr.sort(function(x, y){  return x[0] – y[0];}) ...

  2. JS 二维数组排序

    <script> //测试方法 var a = [ {name:'hdj', age:128}, {name:'hdj1', age:28}, {name:'hdj1', age:78}, ...

  3. C#/JS 获取二维数组组合

    C#获取二维数组组合 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  4. JS:二维数组排序和获取子级元素

    JS:二维数组排序和获取子级元素 1. 二维数组排序 1.按数值排序 var arr = [[1, 2, 3], [7, 2, 3], [3, 2, 3]]; 如果我们要按每个子数组的第一列来排序要如 ...

  5. js二维数组定义和初始化的三种方法总结

    js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...

  6. PHP二维数组排序(list_order)

    /** * 对二维数组进行排序 * 模拟 数据表记录按字段排序 * * <code> * @list_order($list, $get['orderKey'], $get['orderT ...

  7. PHP array_multisort() 函数详解 及 二维数组排序(模拟数据表记录按字段排序)

    一.先看最简单的情况. 有两个数组: $arr1 = array(1, 9, 5); $arr2 = array(6, 2, 4); array_multisort($arr1, $arr2); pr ...

  8. php基础篇-二维数组排序 array_multisort

    原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...

  9. PHP二维数组排序(感谢滔哥)

    滔哥原创 /* _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\|| ...

随机推荐

  1. python3 黑板客爬虫闯关游戏(四)

    这关较第三关难度增加许多,主要多了并发编程 密码一共有100位,分布在13页,每页打开的时间在15秒左右,所以理所当然的想到要用并发,但是后来发现同IP访问间隔时间不能小于8秒,不然会返回404,所以 ...

  2. [转载]python property

    @property 简单解释. http://python.jobbole.com/80955/

  3. Python 开源网上商城项目

    django-oscar  https://github.com/django-oscar/django-oscar#screenshots django-shop  https://github.c ...

  4. C++11智能指针读书笔记;

    智能指针是一个类对象,而非一个指针对象. 原始指针:通过new建立的*指针 智能指针:通过智能指针关键字(unique_ptr, shared_ptr ,weak_ptr)建立的指针 它的一种通用实现 ...

  5. linux 环境变量

    电脑中必不可少的就是操作系统.而Linux的发展非常迅速,有赶超微软的趋势.这里介绍Linux的知识,让你学好应用Linux系统.比如要把/etc/apache/bin目录添加到PATH中,方法有三: ...

  6. - >code vs 1475 m进制转十进制

    1475 m进制转十进制  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果   题目描述 Description 将m进制数n转化成一个 ...

  7. 将数据导入Excel

    /** * 查询未打印订单 * @param req * @param sort * @param order * @param rows * @param page * @return */ pub ...

  8. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  9. 【WEB】web www http html hypermedia hypertext 技术名词的意思

    www WWW是环球信息网的缩写,(亦作"Web"."WWW"."'W3'",英文全称为"World Wide Web" ...

  10. centos7.0 下安装jdk1.8

    centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...