天天看点

(最简易版本2)js笛卡尔积生成商品SKU多规格算法

(B站一博主保姆级理解)笛卡尔积生成商品SKU__揽的博客-CSDN博客

首先这篇文章得仔细看,上面是我出的第一版本多规格算法可以去看一下思路

算法版本升级

1.使用map函数生成笛卡尔积

let arr = [
    ['红色', '黑色', '白色'],
    ['16G', '32G'],
    ['移动版', '联通版'],
]

let result=[[]]

arr.map(x=>{
    var res=[]
    result.map(y=>{
        x.map(z=>{
            res.push([...y,z])
        })
    })
    result=res
})
console.log(result)
           
(最简易版本2)js笛卡尔积生成商品SKU多规格算法

 2.生成对象形式的笛卡尔积(这种形式常用与elementui)方便简单

let newArr = [{
        name: 'color',
        data: ['红色', '黑色', '白色'],
    },
    {
        name: 'size',
        data: ['16G', '32G'],
    },
    {
        name: 'banben',
        data: ['移动版', '联通版'],
    }
]
let result=[{}]
newArr.map(x=>{
    let res=[]
    result.map(y=>{
        x.data.map(z=>{
            res.push({...y,[x.name]:z})
        })
    })
    result=res
})
console.log(result)
           
(最简易版本2)js笛卡尔积生成商品SKU多规格算法

继续阅读