二维数组操作,把一个二位数组每一个数组的元素用下划线"_"组装

最近做项目实现一个需求需组装二位数组,自己写了一段(菜鸟级别)功能是实现了,但是太复杂了,一个大神给我写了一段代码很简洁,下面就是大神写的代码,有需要的可以借鉴借鉴……

          var a1 = [1,2];
          var b1 = ["x","y"];
          var c1 = ["a","b","c"];
          var d1 = ["g","u"];
          var test = [a1,b1,c1,d1];
          var len = test.length;
          var result = [];
          
          
          for(var m=1; m< len; m++) {
              var temp1 = new Array();
              if(m==1){
                  temp1 = test[m-1];
              }else{
                  for(var n =0;n<result.length;n++) {
                      temp1.push(result[n]);
                  }
                  result = [];    
              }
              var temp2 = test[m];
              for (var i = 0; i < temp1.length; i++) {
                  for (var j = 0; j < temp2.length; j++) {
                      result.push(temp1[i] + "_" + temp2[j]);
                  }
              }
              console.log(result);
          }



可能上面描叙不是很清楚,下面我再举例详细描叙一下,就是在二维数组中有多个数组如: var a =[[a1,a2],[b1,b2,b3],[c1,c2]];然后要把它用下划线组装成一个数组,如下:

  [a1_b1_c1,

  a1_b1_c2,

  a1_b2_c1,

  a1_b2_c2,

  a1_b3_c1,

  a1_b3_c2,

  a2_b1_c1,

  ……………………]

  写到这里相信已经明白了……

转载于:https://www.cnblogs.com/xzqcnblogs/p/5466114.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值