本人在模仿淘宝sku商品选择,从刚开始没有sku数据,关于sku是什么,大家自己先了解下,一直到实现出来,花了一个星期,走了不少弯路,参考了不少的别人的文章和视频。这里总结一下,如果你脑子也很混乱,可以看一看。
样例效果:
参考https://youzan.github.io/vant/#/zh-CN/sku 或者自己打开手机淘宝
定语说明:
实现思路:
举一些测试例子:
手机规格参数:
颜色: 黑 、红、白、绿
内存: 52G、128G、256G、
产地: 国产、港版、美版
sku单品列表(就是参数组合):
黑+52G+国产
黑+128G+美版
白+128G+国产
白+128G+港版
绿+256G+港版
开始我也没有思路,也是慢慢总结出来的:
单看一个单品:黑+128G+国产,可以得出可选参数组合有:黑 、128G、国产、黑+128G、黑+国产、128G+国产、黑+128G+国产。
这几种参数组合都是有一个单品衍生而来,我们先把衍生出来的叫做“潜在sku”,不难看出,这其实就是组合C31+C32+C33;
那我们是不是把所有“潜在sku”全部获取就能知道哪些参数组合可以选。
这里就需要用到数组算法了,大家可以尝试自己写出来,也可以借鉴我的:js高效组合算法
得到这个所有“潜在sku”后,怎么确定自己本身要选的组合参数;
同规格参数之间是无法形成组合的。列举下选择情况:
没选时:
除了红色,其他都可选!
当选了黑时:
白、绿、52g、128g、国产、美版可选,其他不可选
当选了黑+128G时:
白、52g、国产可选
当选了“黑+128G+国产”时:
白可选,其他不可选
这里一句话概括:“通过当前参数与其他类型规格已选参数组合生成的SKU即为自己的SKU”,只要得出这个结论,sku基本上没难度了!
得到本身sku,去和所有潜在sku对比,就能判断本身的状态了。