【电商】商品规格组合发布算法
日期: 2019-06-28 浏览量: 3949
电商,添加商品,商品的规格可以组合成不同的SKU也就是商品最小的货存单位。
上代码:
let arr = [ [ { 1: '红色' }, { 1: '紫色' } ], [ { 2: 'S' }, { 2: 'm' } ], [ { 3:'圆领' }, { 3:'V领' }, { 3:'高领' } ], ]; //笛卡尔乘积 算法 function jx(arr){ if(arr.length>1){ let res = []; let item = arr[0]; arr.splice(0,1); var nextItem = jx(arr); for(let i=0; i<item.length; i++){ for(let j = 0; j<nextItem.length; j++){ //不要使用 object.assign 方法 let obj = { ...item[i], ...nextItem[j] }; res.push(obj) } } return res; }else{ return arr[0] } } console.log(jx(arr)); //输出值 /* [ { '1': '红色', '2': 'S', '3': '圆领' }, { '1': '红色', '2': 'S', '3': 'V领' }, { '1': '红色', '2': 'S', '3': '高领' }, { '1': '红色', '2': 'm', '3': '圆领' }, { '1': '红色', '2': 'm', '3': 'V领' }, { '1': '红色', '2': 'm', '3': '高领' }, { '1': '紫色', '2': 'S', '3': '圆领' }, { '1': '紫色', '2': 'S', '3': 'V领' }, { '1': '紫色', '2': 'S', '3': '高领' }, { '1': '紫色', '2': 'm', '3': '圆领' }, { '1': '紫色', '2': 'm', '3': 'V领' }, { '1': '紫色', '2': 'm', '3': '高领' } ] */
人活着,其实就是一种心态,你若觉得快乐,幸福无处不在;你为自己悲鸣,世界必将灰暗。
阅读排行
最新文章
联系方式
- 邮箱:m18811126599@163.com
- QQ:896956692