qq983985955
qq983985955
采纳率50%
2016-06-20 11:00 阅读 1.2k
已采纳

求教JavaScript如何输出以下排列组合?

var arr = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9,0]
];
如何得到 147,148,149,140,157,158 。。。。这种3*3*4的组合

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    w172087242 little_how 2016-06-20 12:07

    var MyString = function(){
    this.myarr = [];
    this.changearr = function(addarr){
    if(this.myarr.length==0) {
    this.myarr = addarr;
    return;
    }
    var tmp = [];
    for(var i=0,ilen=this.myarr.length;i<ilen;i++){
    for(var j=0,jlen=addarr;j<jlen;j++){
    tmp.push(""+this.myarr[i]+addarr[j]);
    }
    }
    this.myarr = tmp;
    }
    this.toString = function(){
    return this.myarr.join(" ");
    }
    }
    var str = new MyString();
    for(var n=0,nlen=arr.length; n<nlen;n++){
    str.changearr(arr[n]);
    }
    console.log(str.toString());

    如果有帮助,希望结贴

    点赞 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 2016-06-20 12:56
    点赞 2 评论 复制链接分享
  • w172087242 little_how 2016-06-20 11:34

    for (var i=0,len=arr[0].length; i < len; i++) {
    for (var j=0,jlen=arr[1].length; j < jlen; j++) {
    for (var k=0, klen=arr[2].length; k < klen; k++) {
    console.log(""+arr[0][i]+arr[1][j]+arr[2][k]);
    }
    }
    }

    如果有帮助,希望结贴

    点赞 评论 复制链接分享
  • qq983985955 qq983985955 2016-06-20 11:35

    嚓 错了 是arr可能是各种 比如:
    arr = [
    [1, 2, 3],
    [4, 5, 6,7]
    ];

    比如: arr = [
    [1, 2, 3],
    [4, 5, 6,7],
    [1, 2, 3],
    [4, 5, 6,7]
    ];
    这种 我不想把for循环写死

    点赞 评论 复制链接分享

相关推荐