购物类商城,选择规格的时候,有些规格因为没货,需要置灰,下面是我使用的计算方法,供大家参考。
原理:每一组的可选规格,由其他组的选中规格决定,意思就是,第一组的可选规格,由其他第二组、第三组.....的选中情况决定。
假如:某衣服有如下规格()中为规格id,计算方法用到:
颜色:黑色(1)、白色(2)、红色(3)
尺码:L(4)、XL(5)、XXL(6)
样式:修身(7)、宽松(8)
所有组合种类 共有 3*3*2=18种, 假如1_5_8,2_4_8 这两个组合没有货
第一步:去除所有无货组合
第二步:
//这个集合用来存放所有有货的组合
List<String> list = new ArrayList<>();
list.add("1_4_7");
list.add("1_5_7");
list.add("1_6_7");
list.add("1_4_8");
.........
//这个用来存放每一组当前选中的规格id,key对应规格的组下标
Map<String,String&g