多組信息,不同的組合,一共可以有哪些組合呢, 這里給大家一個(gè)JS數(shù)組組合實(shí)例分享
var values = [
["小明","小紅"],
["語文","數(shù)學(xué)","英語"],
];
//笛卡爾乘積 組合原理 將二維數(shù)組進(jìn)行多重組合
function arrToCombination(arr) {
var next = arr.pop();//刪除數(shù)組中的最后一個(gè)元素, 返回刪除的元素
while(arr.length > 0) {
var t = [];
var pre = arr.pop(); //前一個(gè)數(shù)組
if(! Array.isArray(pre)) pre = [pre];
for(x in pre) {
for(y in next){
var v = [];
v.push(pre[x]);
v = v.concat( Array.isArray(next[y]) ? next[y] : [next[y]]);
t.push(v);
}
}
next = t;
}
return next;
}
console.log(arrToCombination(values));
