當前位置:成語大全網 - 書法字典 - Js兩個數組排列組合

Js兩個數組排列組合

& lthtml & gt

& lthead & gt

& lttitle & gtJs兩個數組排列組合

& lt劇本?type = " text/JavaScript " & gt;

var?答?=?【“A”、“B”、“C”】;

var?b?=?["1",?"2","3"];

window.onload?=?功能?()?{

var?a1?=?新的?obj pl(a);//計算數組a的排列組合。

var?b1?=?新的?obj pl(b);//計算數組b的排列組合。

var?str?=?"";

var?n?=?0;

//a 1和b1的排列組合數是它們的乘積(雙循環)。

為了什麽?(var?我?=?0;?我?& lt?a 1 . length;?i++)?{

為了什麽?(var?j?=?0;?j?& lt?b 1 . length;?j++)?{

str?+=?a1[i]?+?b1[j]?+?"?";

n++;

}

str?+=?“& ltbr/>;

}

document.write("*** "?+?n?+?“答

document . write(str);

}

//取數組的排列組合。

功能?objPL(arr)?{

這個. a?=?arr

這個. r?=?[];

這個. n?=?0;

//從m的個數中取n(遞歸)

this.mGetN?=?功能?(curIndex,?num,?curSelect)?{

如果?(num?==?0)?{

this.r[this.n++]?=?curSelect?返回;

}

如果?(this.a.length?-?curIndex?& lt?num)?返回;

this.mGetN(curIndex?+?1,?num?-?1,?curSelect?+?this . a[curIndex]);

this.mGetN(curIndex?+?1,?num,?curSelect);

}

為了什麽?(var?我?=?1;?我?& lt=?這個長度;?i++)?{

this.mGetN(0,我,?"");

}

回歸?this.r

}

& lt/script & gt;

& lt/head & gt;

& ltbody & gt& lt/body & gt;

& lt/html & gt;

["A "," B "," C"]和["1 "," 2 "," 3"]組合的結果: