网页商品SKU(规格)选择

什么是sku

维基百科如下 最小存货单位(Stock Keeping Unit) 在连锁零售门店中有时称单品为一个SKU,定义为保存库存控制的最小可用单位,例如
例如: iPhone有规格有:颜色【红、金、黑】,内存大小【32g、64g、128g】 红色+32g就是一个sku,当然还可以分的更细

后台数据如下:(表1)

颜色 内存 屏幕大小 库存
红色-a1 16G-b1 4.7-c1 100
金色-a2 32G-b2 5.1-c2 110
黑色-a3 64G-b3 4.7 120
蓝色-a4 128G-b4 4.7 130

对上面的数据排列组合得到,所有库存的sku

选项卡则为:(表2)

颜色 选择项
颜色 红色 金色 黑色 蓝色
内存 16G 32G 64G 128G
屏幕 4.7 5.1



产品要求只用有库存的商品按钮才显示可选样式


网页商品SKU(规格)选择_第1张图片

选项卡

把以选择sku 存放到一个数组中 如:selectSku=[a1,b1,c1]

方案1:

把所有规格排列组合生成一个map,如:

skuMap={
    a1:100,
    b1:100,
    c1:220,

}

优点是只需要运算一次,后期只需要通过key查找就可以了,但是初始化运算量比较大

方案2:

每次选择重新计算当前选项的库存,如:

selectSku=[a1,b1,c1];//已选择规格
//如果想知道c2是否可以选择,则需要获取 key=a1b1c2这个sku的库存
//其他类推

这里非常感谢网友的一片文章,写个非常仔细。有兴趣的可以参考
http://git.shepherdwind.com/sku-search-algorithm.html

你可能感兴趣的:(JavaScript)