基于vue2和element-ui的一个电商sku示例;
给遇到这个需求的人提供一种解决思路;
临时演示地址:http://119.23.191.102:8079
下面是主要拼装sku数据的主要方法
/**
* 将组装好的二维数组 拼成sku格式
* sku格式:[['红色','s'],['红色','m']]
* @param arr
* @constructor
*/
SkuAssemblyData(arrT) {
//arr需要这种二维数组格式
// arr = [
// ["大杯", "中杯"],
// ["全糖", "七分糖"],
// ["去冰", "少冰", "正常冰"]
// ];
let arr = [];
//循环删除二维数组元素中的空数组
arrT.forEach(item => {
if (item.length !== 0) {
arr.push(item)
}
})
console.log(arr, '去重后')
const getSkuData = arr => {
let res = [[]];
arr.map(item => {
let s = [];
res.map(v => {
item.map(ele => {
s.push(v.concat(ele));
});
});
res = s;
});
return res;
};
return getSkuData(arr)
},
如果想看更详细的逻辑: github.com/60yyll60/sk…