就比如一件衣服的规格如下:
颜色:['白色', '黑色', '红色']
尺寸:['大码', '小码', '中码']
然后我们要实现以下:
白色-大码,白色-小码,白色-中码
黑色-大码,黑色-小码,黑色-中码
红色-大码,红色-小码,红色-中码
// 获取多维规格笛卡尔积
// 返回数组
export function cartesianProductOf(...args) {
return args.reduce(
(total, current) => {
let ret = [];
total.forEach(a => {
current.forEach(b => {
ret.push(a.concat([b]));
});
});
return ret;
},
[
[]
]
);
}
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h63387.shtml