n个数组实现排列组合

命题场景:

现在有一批手机,其中颜色有[‘白色’,‘黑色’,‘金色’];内存大小有[‘16G’,‘32G’,‘64G’],版本有[‘移动’,‘联通’,‘电信’],要求写一个算法,实现[[‘白色’,‘16G’,‘移动’], [‘白色’,‘16G’,‘联通’] …]这样的组合

//数组排列组合方法
          doExchange(arr){
            var len = arr.length;
            // 当数组大于等于2个的时候
            if(len >= 2){
              // 第一个数组的长度
              var len1 = arr[0].length;
              // 第二个数组的长度
              var len2 = arr[1].length;
              // 2个数组产生的组合数
              var lenBoth = len1 * len2;
              //  申明一个新数组,做数据暂存
              var items = new Array(lenBoth);
              // 申明新数组的索引
              var index = 0;
              // 2层嵌套循环,将组合放到新数组中
              for(var i=0; i<len1; i++){
                for(var j=0; j<len2; j++){
                  items[index] = arr[0][i] +"*"+ arr[1][j];
     
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值