JS 多个一维数组排例组合的所有可能

好的代码绝对是易懂的;优雅的。用上一个PHP版本,和这个JS 版本对比一下的感悟。虽然不保证JS代码绝对高效。但是这两个版本的差距是明显的;JS版本是我哥写的。

<SCRIPT LANGUAGE="JavaScript">
  <!--
        var p =[
                    [""],
                    ["12码","13码","14码"],
                    ["",""],
                    ["中国","日本"]
                ] 

        
        var arr = js(p[0],p[1]) 
        var b = true
        var index = 2;
        while(b){            
            if(p[index]){
                arr = js(arr,p[index])
                index ++;
            }else{
                break;
            }
        } 
        //alert(arr.length)
        //alert(arr) 
        for(var i =0;i<arr.length;i++){
            document.write(i + arr[i]+"<br>")
        } 
        
         function js(arr1,arr2){
             var arr = Array();
             for(var i=0;i<arr1.length;i++){                 
                 for(var j=0;j<arr2.length;j++){                     
                    arr.push(arr1[i]+" "+arr2[j]);
                 }
             } 
             return arr;
         }
            
  //-->
  </SCRIPT>

 

posted @ 2016-03-04 11:44  鱼尾纹  阅读(3103)  评论(0编辑  收藏  举报