<html>
<head>
<title>二维数组排列组合</title>
</head>
<body>
<div id="showDiv"></div>
</body>
<script type="text/javascript"> var arrays = [ ["a0", "a1", "a2", "a3"], ["b0", "b1", "b2"], ["c0","c1","c2","c3", "c4"] ]; var array = getArrayByArrays(arrays); window.document.getElementById('showDiv').innerHTML = '元素个数:' + array.length + '<br /><br />' + array.join('<br />'); /** * 获取【二维数组】的【排列组合】 */ function getArrayByArrays(arrays) { var arr = [""]; // 初始化第一个内层数组
/** * 遍历外层数组 */
for (var index = 0; index < arrays.length; index++) { // console.log('外层数组索引 = ' + 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 value = value1 + ' - ' + value2; arr.push(value); console.log(arr); }; }; return arr; }; </script>
</html>