
从事电商开发后,涉及到关系SKU的算法
1、SKU是指一款商品,每款都有出现一个SKU,便于电商品牌识别商品。
2、一款商品多色,则是有多个SKU,例:一件衣服,有红色、白色、蓝色,则SKU编码也不相同,如相同则会出现混淆,发错货。
SKU数量取决于产品规格数量的积(比如:颜色数量*尺码数量)
案例:
Color:Blue、Black
Size:S、M
思路:最后一层输出结果,否则递归
话不多说,直接上代码
public void CartesianProduct( List<List<string>> arr, List<List<string>> result, int level, List<string> vals) { var currents = arr[level]; foreach (var curr in currents) { if (level + 1 < arr.Count) CartesianProduct(arr, result, level + 1, new List<string>(vals) { curr }); else result.Add(new List<string>(vals) { curr }); } }
结果如下:
[["Black","S"],["Black","M"],["Blue","S"],["Blue","M"]]
评价