前言

初步优化

代码比较乱

效果

电商系统 SKU 设计和优化_数据

电商系统 SKU 设计和优化_javascript_02

电商系统 SKU 设计和优化_javascript_03

核心代码

 this.value.skuStockList = [];
let skuList = this.value.skuStockList;
console.log('sku 规格 选中数据 打印------------------------');
console.log(this.selectProductAttr);


// 自定义数据格式
let skuChecked = [];// 选中的sku
this.productAttrTableColumn = [];// 商品规格 table列

this.selectProductAttr.forEach((item, index, array) => {
if (item.values.length > 0) {
this.productAttrTableColumn.push(item);

var arrTemp = [];
item.values.forEach((item2, index2, array2) => {
arrTemp.push({
key: item.name,
value: item2
});
});
skuChecked.push(arrTemp);
}
});
console.log('自定义数据格式--------------')
console.log(skuChecked);

// 生成sku组合
var cartesianProductOf = function () {// 原文:javascript:void(0)
return Array.prototype.reduce.call(arguments, function (a, b) {
var ret = [];
a.forEach(function (a) {
b.forEach(function (b) {
ret.push(a.concat([b]));
});
});
return ret;
}, [[]]);
}
let allSkuArr = cartesianProductOf(...skuChecked)
console.log('所有的sku组合--------------')
console.log(allSkuArr)

// 添加到 商品sku库存信息
allSkuArr.forEach((item, index, array) => {
skuList.push({
spData: JSON.stringify(item)
});
});