• JavaScript 二维数组排列组合2


    <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'
    			] 
    		];
    
    		var array = getArrayByArrays(arrays);
    
    		window.document.getElementById('showDiv').innerHTML = '共计 ' + array.length + ' 种组合。<br /><br />';
    
    		for (var index = 0; index < array.length; index++) {
    			var row = array[index];
    			var rows = row.split('#');
    
    			for (var cursor = 0; cursor < rows.length; cursor++) {
    				var cell = rows[cursor];
    				var cells = cell.split('-');
    
    				for (var kk = 0; kk < cells.length; kk++) {
    					window.document.getElementById('showDiv').innerHTML += cells[kk] + '    '; 
    				}
    
    				window.document.getElementById('showDiv').innerHTML += '                                ';
    			}
    
    			window.document.getElementById('showDiv').innerHTML += '<br />';
    		}
    	  
    	  	/**
    		 * 获取【二维数组】的【排列组合】
    		*/
    		function getArrayByArrays(arrays) {
    			var arr = [ '' ];		// 初始化第一个内层数组
    
    			/**
    			 * 遍历外层数组
    			*/
    			for (var index = 0; index < arrays.length; index++) {
    				arr = getValuesByArray(arr, arrays[index]);
    			}
    
    			return arr;
    		}
    	  
    		function getValuesByArray(arr1, arr2) {
    			var arr = [];
    
    			/**
    			 * 遍历外层数组
    			*/
    			for (var index = 0; index < arr1.length; index++) {
    				var value1 = arr1[index];
    
    				/**
    				 * 遍历内层数组
    				*/
    				for(var cursor = 0; cursor < arr2.length; cursor++) {
    					var value2 = arr2[cursor];
    
    					var target = '';
    					if (null !== value1 && undefined !== value1 && '' !== value1) {
    						target = value1 + '#' + value2;
    					} else {
    						target = value2;
    					}
    
    					arr.push(target);
    					console.log(arr);
    				};
    			};
    
    			return arr;
    		};
    
    	</script>
    
    </html>
    

      

  • 相关阅读:
    js简单错误
    angular ie.浏览器报错 “无效指针”
    angular 取路由参数进行判断
    java学习之路--I/O流
    JavaFTP文件传输上传和下载文件
    java知识库
    Android常用的工具类SharedPreferences封装类SPUtils
    java学习之路--继承(多态的动态绑定)
    java学习之路--继承(子类构造器)
    java核心技术笔记
  • 原文地址:https://www.cnblogs.com/hapday/p/10549865.html
Copyright © 2020-2023  润新知