问答详情
源自:1-1 JavaScript深入浅出课程介绍

JS递归

利用 递归算法      列出a,b,c,d,e,f,g,h  8个字母,任意取出5个字母的 所有组合      在chrome控制台 显示输出即可

提问者:qq_认真的鱼_0 2018-04-13 14:57

个回答

  • shenhx
    2018-04-15 18:44:13

    var arr = new Array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h');

    function func(aInx, bInx) {

    //console.log(aInx + '-' + bInx);

    if ((arr.length - aInx < 5) || (bInx + 4) > arr.length) {

    //return;

    if ((aInx + 4) > arr.length) {

    return;

    }

    if((bInx + 4) > arr.length){

    //console.log(bInx);

    aInx++;

    bInx = aInx+1;

    func(aInx, bInx);

    return;

    }

    }

    var obj2 = arr.slice(aInx, aInx + 1).concat(arr.slice(bInx, bInx + 4)).join();

    console.log(obj2);

    bInx++;

    func(aInx, bInx);

    }

    func(0, 1);