模拟京东非淘宝,购买商品 SKU SPU点击过滤属性参数

2018-11-09  本文已影响167人  读书的大叔

写在开头

废话不多说

场景

在购买商品时候,需要选择各种属性参数组成一条 sku 数据,然后在 sku 库里查找有无该商品。

在点击一个属性参数的时候,需要判断其他的参数是否可以点击

举例:

【 型号、容量、年份】

型号:5W、4w、3w

容量:1L、2L、3L

年度:2018、2019、2020

排列组合有 3*3*3= 27 种。可是有商品的sku组合只有以下:

[5w, 1L, 2018]

[4w, 2L, 2020]

[3w, 3L, 2019]

默认数据

初始化默认数据:    [5w,1L,2018]

要判断 4w 是否可选?就需要用 4w 和其他两个已经选中的参数组合成一个 sku(4w-1L-2018),然后对比 sku 库里有没有就可以了。

思路没有问题的,我保证。

但是出现了以下情况:(实线边框代表组合无法匹配到商品)

那是以为我看在对比 sku 库的时候,之对比了三条完整 sku。

这时候请大家看这里: “ 冥集 ” 了解一下。

白话文: 求一个集合到所有子集

举例:5w - 1L - 2018 的所有子集是:

.5w

.1L

.2018

.5w-1L

.5w-2018

.1L-2018

.5w-1L-2018

献上阿木写的取冥集的方法:

说的时候用名称,判断时候还是需要用 ID 的,ID 唯一,才是硬道理

有了这个大集合,就不怕不怕啦。

以下情况:

    判断 5W 是否可点?  拿 5w - 1L  在集合里查找是否存在

    判断 2L 是否可点? 拿 2L  在集合里查找是否存在

    判断 2018 是否可点? 拿 1L - 2018 在集合里查找是否存在

啊哦,这样就完美解决咯!

其实代码大家都会写,重要的思路!!!  

写在结尾

请看开头

上一篇 下一篇

猜你喜欢

热点阅读