js实现超简单sku组合算法(不同属性的排列组合)

 

let arr = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
    [10, 11, 12],
];
 
function cartesianProductOf() {
    return Array.prototype.reduce.call(arguments,       function(a, b) {
        var ret = [];
        a.forEach(function(a) {
            b.forEach(function(b) {
                ret.push(a.concat([b]));
            });
        });
        return ret;
    }, [[]]);
}
 
let allArr =cartesianProductOf(...arr )
console.log(allArr)

 

 

此算法类似笛卡尔积

 

 

 

转: https://www.cnblogs.com/hpx2020/p/10723192.html

 

上一篇:Java8实现List转Map


下一篇:ASP.Net SKU(2)