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

在这里插入图片描述

你可能感兴趣的:(数组排列组合)