多组信息,不同的组合,一共可以有哪些组合呢, 这里给大家一个JS数组组合实例分享
var values = [
["小明","小红"],
["语文","数学","英语"],
];
//笛卡尔乘积 组合原理 将二维数组进行多重组合
function arrToCombination(arr) {
var next = arr.pop();//删除数组中的最后一个元素, 返回删除的元素
while(arr.length > 0) {
var t = [];
var pre = arr.pop(); //前一个数组
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));
