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

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

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


算法版本升级


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)

1024b19218af40c7a8a6290c6186518d.png

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)

1024b19218af40c7a8a6290c6186518d.png

目录
相关文章
|
1月前
|
算法 JavaScript 前端开发
LZH 算法的模拟实现,JavaScript 版本
LZH 算法的模拟实现,JavaScript 版本
13 0
|
1天前
|
JavaScript 前端开发 算法
JavaScript的垃圾回收机制通过标记-清除算法自动管理内存
JavaScript的垃圾回收机制通过标记-清除算法自动管理内存,免除开发者处理内存泄漏问题。它从根对象开始遍历,标记活动对象,未标记的对象被视为垃圾并释放内存。优化技术包括分代收集和增量收集,以提升性能。然而,开发者仍需谨慎处理全局变量、闭包、定时器和DOM引用,防止内存泄漏,保证程序稳定性和性能。
7 0
|
5天前
|
JSON JavaScript 前端开发
js的版本
【5月更文挑战第7天】js的版本
8 1
|
6天前
|
算法 JavaScript 前端开发
三个js算法
三个js算法
8 2
|
6天前
|
算法 JavaScript
js的两个常用算法
js的两个常用算法
5 1
|
12天前
|
JavaScript 前端开发 算法
【JavaScript技术专栏】使用JavaScript实现常见算法
【4月更文挑战第30天】本文介绍了如何使用JavaScript实现常见算法,包括排序、搜索和图算法。首先,通过JavaScript的`sort`方法讨论了排序算法,以快速排序为例展示了自定义排序的实现。接着,探讨了二分查找这一高效的搜索算法,并提供了实现代码。最后,解释了深度优先搜索(DFS)图算法,并给出了在JavaScript中的实现。理解并运用这些算法能有效提升编程能力。
|
17天前
|
JavaScript 前端开发 Linux
|
17天前
|
移动开发 算法 数据可视化
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
|
2月前
|
算法 JavaScript 前端开发
游戏物理系统 - 如何在JavaScript中实现基本的碰撞检测算法?
在JavaScript中实现2D矩形碰撞检测,常用AABB方法,适合简单游戏。创建Rectangle类,包含位置和尺寸属性,并定义`collidesWith`方法检查两矩形是否相交。通过比较边界位置判断碰撞,当四条边界条件均满足时,认定发生碰撞。基础算法适用于初级需求,复杂场景可采用更高级的碰撞检测库。
14 1
|
2月前
|
JavaScript 前端开发 Web App开发
JavaScript基础语法(codewhy版本)(一)
JavaScript基础语法(codewhy版本)
93 1
JavaScript基础语法(codewhy版本)(一)