zoukankan      html  css  js  c++  java
  • JS二维数组排序组合

      需求是这样的: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

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

  • 相关阅读:
    vue-router过渡动画
    vue-router重定向
    vue-router url传值
    vue-router多个组件模板放入同一个页面中
    vue-router参数
    vue-router子路由
    vue-router入门
    easyui中parser的简单用法
    webpost中常用的ContentType
    ASP.NET MVC 表单提交多层子级实体集合数据到控制器中
  • 原文地址:https://www.cnblogs.com/zjhr/p/5334747.html
Copyright © 2011-2022 走看看