JavaScript中多个数组的笛卡儿积

JavaScript中多个数组的笛卡儿积

如何用JavaScript实现多个数组的笛卡儿积?

举个例子,

cartesian([1,2],[10,20],[100,200,300]) //should be// [[1,10,100],[1,10,200],[1,10,300],[2,10,100],[2,10,200]...]


胡说叔叔
浏览 680回答 3
3回答

慕标5832272

以下是在普通Javascript中修改的@viebel代码版本,不使用任何库:function cartesianProduct(arr){     return arr.reduce(function(a,b){         return a.map(function(x){             return b.map(function(y){                 return x.concat(y);             })         }).reduce(function(a,b){ return a.concat(b) },[])     }, [[]])}var a = cartesianProduct([[1, 2,3], [4, 5,6], [7, 8], [9,10]]);console.log(a);
打开App,查看更多内容
随时随地看视频慕课网APP