在商城系统中通常会遇到将多项规格散列成所有组合的需要,
因为规格项和规格属性都不确定,所以算法会比较麻烦.
经过长时间打磨,得出几套比较完善可靠的算法.写出来,方便自己记忆,整理和分享.
首先是产品规格项配置信息 举例
let sList=[//分类共用规格
{id:'s1',name:'颜色',v:['红','黄']},
{id:'s2',name:'尺寸',v:['x','m']}
];
let skuConfig=[
{id:'s1',type:'category',v:{a1:'白',a2:'黄'}},//分类继承规格
{id:'s2',type:'category',v:{b1:'大',b2:'小'}},//分类继承规格
{id:'s3',type:'customer',name:'型号',v:{c1:'s',c2:'m'}},//产品特有规格
];
需要等到的数据
//需要得到的数据
let skuList=[//保存规格搭配列表
{value:['a1','b1','c1'],text:['白','大','s']},
{value:['a1','b2','c1'],text:['白','小','s']},
{value:['a1','b1','c2'],text:['白','大','m']},