笛卡尔积的定义
假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
使用场景
计算出商品的SKU,SKU是英语中Stock Keeping Unit的缩写,直译过来就是存货单元。举个例子,女孩子去买衣服,找到喜欢的款式,喜欢的颜色,还得找到自己的尺码——款式 + 颜色 + 尺码就是这里说的SKU,是我们识别产品所必须的,也是商场进出存的最小单元。
算法
reduce()函数使用。ruduce()函数第一次计算时将数组的前两个元素进行”组合“(这里的组合可以是数值计算,字符串操作,数组操作,取决于你的使用场景),返回"组合”结果并于下一个元素进行同样的操作,直到最后一个元素操作完。
var year = ['2019', '2020'];
var color = ['白色', '灰色', '蓝色'];
var size = ['S', 'M', 'L'];
var list = [year, color, size];
function calcDescartes(array) {
if (array.length < 2) return array[0] || [];
return array.re