多组信息,不同的组合,一共可以有哪些组合呢, 这里给大家一个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));
