<html>

	<head>
<title>二维数组排列组合</title>
</head> <body>
<div id="showDiv"></div>
</body> <script type="text/javascript">
var arrays = [
[
'1-1-雨尘', '1-2-芸芸', '1-3-简一', '1-4-乐乐'
]
, [
'2-5-小明', '2-6-花花', '2-7-数数'
]
, [
'3-8-静静', '3-9-点点', '3-10-hapday', '3-11-欢欢', '3-12-yuchen'
]
];
// debugger; /**
* 递归法排列组合二维数组
*/
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 rowIndex=0; for(var index = 0; index < len1; index++){
for(var cursor = 0; cursor < len2; cursor++){
temp[rowIndex] = doubleArrays[0][index] + '#' + doubleArrays[1][cursor]; rowIndex++;
}
} var newArray = new Array(len-1); for (var index = 2; index < len; index++) {
newArray[index - 1] = doubleArrays[index];
} newArray[0] = temp; var result = doExchange(newArray);
console.log(result);
return result;
} else {
var result = doubleArrays[0];
console.log('只有一个内层数组:\n' + result + '\n');
console.log('===================================');
return result;
}
} var ret = doExchange(arrays); window.document.getElementById('showDiv').innerHTML += '共有 ' + ret.length + ' 种组合。<br /><br />'; for (var index = 0; index < ret.length; index++) {
var row = ret[index];
var rows = row.split('#');
// debugger;
for (var cursor = 0; cursor < rows.length; cursor++) {
window.document.getElementById('showDiv').innerHTML += rows[cursor] + '        ';
}
window.document.getElementById('showDiv').innerHTML += '<br />';
} </script> </html>

  

JavaScript 递归法排列组合二维数组的更多相关文章

  1. JavaScript 递归法排列组合二维数组2

    <html> <head> <title>二维数组排列组合</title> </head> <body> <div id= ...

  2. python3--算法基础:二维数组转90度

    python3--算法基础:二维数组转90度 [0, 1, 2, 3][0, 1, 2, 3][0, 1, 2, 3][0, 1, 2, 3] 二维数组转90度 [0, 0, 0, 0][1, 1, ...

  3. 元素均匀排列自动换行&二维数组前端遍历

    1.元素均匀排列并自动换行 display:flex; flex-wrap:wrap; 2.getFiled();取一行,取多行的话用getFiled(‘id’,true); 3.二维数组前端遍历: ...

  4. 递归分治算法之二维数组二分查找(Java版本)

    [java] /** * 递归分治算法学习之二维二分查找 * @author Sking 问题描述: 存在一个二维数组T[m][n],每一行元素从左到右递增, 每一列元素从上到下递增,现在需要查找元素 ...

  5. JAVASCRIPT一维数转化为二维数组

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. C语言二维数组作为函数参数

    设有整型二维数组a[3][4]如下:0   1   2   34   5   6   78   9  10  11 它的定义为:    int a[3][4]={{0,1,2,3},{4,5,6,7} ...

  7. JavaScript 二维数组排列组合2

    <html> <head> <title>二维数组排列组合</title> </head> <body> <div id= ...

  8. JavaScript 二维数组排列组合

    <html> <head> <title>二维数组排列组合</title> </head> <body> <div id= ...

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

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

随机推荐

  1. python3的enumerate函数

    enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中.

  2. leetcode-665-Non-decreasing Array

    题目描述: Given an array with n integers, your task is to check if it could become non-decreasing by mod ...

  3. js中的substr和substring区别

    js中的substr和substring区别 Substring: 该方法可以有一个参数也可以有两个参数. (1)  一个参数: 示例: var str=“Olive”: str.substring( ...

  4. python学习,day3:函数式编程

    调用函数来实现文件的修改(abc.txt),并增加上时间,调用的是time模块, 需要注意的是,每个函数一定要用‘’‘ ‘’’ 标注下函数说明 # coding=utf-8 # Author: RyA ...

  5. Angular material mat-icon 资源参考_Maps

    ul,li>ol { margin-bottom: 0 } dt { font-weight: 700 } dd { margin: 0 1.5em 1.5em } img { height: ...

  6. 原子操作类AtomicInteger详解

    为什么需要AtomicInteger原子操作类?对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的.num++解析为num=num+1,明显,这个操作不 ...

  7. python+selenium打开浏览器

    Firefox(高版本要安装换火狐驱动,47版本以下可不安装) GoogleChrome(需要安装浏览器的驱动插件,驱动到selenium官网下载,目前该浏览器的驱动只有32位的,所以Google安装 ...

  8. Centos6.5上安装sonarqube6.7.6

    Centos6.5已经装备好,可以联网 sonarqube6.7.6下载地址:https://www.sonarqube.org/downloads/ 步骤: 安装MySQL5.7 MySQL详细的安 ...

  9. mysql忘记root密码处理

    由于测试环境root账户不经常使用,等到需要用到时,很难记起它的密码.特在此记录下忘记密码后的操作 1. 先停止mysql服务 2. 运行 mysqld -nt skip-grant-tables 不 ...

  10. mysql优化和sql语句优化总结

    mysql性能优化 1. EXPLAIN 你的 SELECT 查询.使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL语句的.这可以帮你分析你的查询语句或是表结构的性能瓶颈. 2. ...