js笛卡尔积算法
定义
在数学中的解释是,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
简单来说就是多组数据的排列组合
应用场景
- 在电商项目中,常用于商品SKU的订单组合;根据商品的子类型和不同颜色尺寸生成n种可能的组合
- MySql的多表查询
- 生成坐标
…….
js代码
1 | function cartesianProduct (array) { |
得到的结果:
其它实现方法
评论