当前位置: 首页 > news >正文

js es6 reduce函数, 通过规格生成sku

const specs = [{ name: '颜色', values: ['红色', '蓝色', '绿色'] },{ name: '尺寸', values: ['S', 'M', 'L'] }
];function generateSKUs(specs) {return specs.reduce((acc, spec) => {const newAcc = [];for (const combination of acc) {for (const value of spec.values) {newAcc.push({ ...combination, [spec.name]: value });}}return newAcc;}, [{}]); // 初始值是一个空对象数组
}const skus = generateSKUs(specs);
console.log(skus);

输出的值显示

[{ 颜色: '红色', 尺寸: 'S' },{ 颜色: '红色', 尺寸: 'M' },{ 颜色: '红色', 尺寸: 'L' },{ 颜色: '蓝色', 尺寸: 'S' },{ 颜色: '蓝色', 尺寸: 'M' },{ 颜色: '蓝色', 尺寸: 'L' },{ 颜色: '绿色', 尺寸: 'S' },{ 颜色: '绿色', 尺寸: 'M' },{ 颜色: '绿色', 尺寸: 'L' }
]

参数说明

accumulator:累加器累积回调的返回值。
currentValue:当前处理的数组元素。
index(可选):当前处理的数组元素的索引。
array(可选):调用reduce()方法的数组本身。
initialValue(可选):作为第一次调用callback函数时accumulator参数的值。
-------------------------
acc, spec 上方这两个参数就是这个意思acc累加器累积回调的返回值,第一次会返回空数据,也就是尾部定义的 [{ }]定义0或者其他就会返回其他,后面也会返回相同类型,记得一定要写return就行spec  当前行数据 类似map 返回的

相关文章:

js es6 reduce函数, 通过规格生成sku

const specs [{ name: 颜色, values: [红色, 蓝色, 绿色] },{ name: 尺寸, values: [S, M, L] } ];function generateSKUs(specs) {return specs.reduce((acc, spec) > {const newAcc [];for (const combination of acc) {for (const value of spec.values) {newAcc.push(…...

基于R语言的DICE模型

DICE型是运用最广泛的综合模型之一。DICE和RICE模型虽然代码量不多,但涉及经济学与气候变化,原理较为复杂。 一:DICE模型的原理与推导 1.经济学 2.气候变化问题 3.DICE模型的经济学部分 4.DICE模型的气候相关部分 5.DICE模型的目标函数…...

【C】PAT 1006-1010

1006 换个格式输出整数 让我们用字母 B 来表示“百”、字母 S 表示“十”&#xff0c;用 12...n 来表示不为零的个位数字 n&#xff08;<10&#xff09;&#xff0c;换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234&#xff0c;因为它有 2 个“…...

力扣双指针-算法模版总结

lc-15.三数之和 &#xff08;时隔13天&#xff09; 目前可通过&#xff0c;想法上无逻辑问题&#xff0c;一点细节小错误需注意即可 lc-283.移动零&#xff08;时隔16天&#xff09; 总结&#xff1a;观察案例直觉就是双指针遇零交换&#xff0c;两次实现都通过了&#xff0c…...

解释一下:运放的输入偏置电流

输入偏置电流 首先看基础部分:这就是同相比例放大器 按照理论计算,输入VIN=0时,输出VOUT应为0,对吧 仿真与理论差距较大,有200多毫伏的偏差,这就是输入偏置电流IBIAS引起的,接着看它的定义 同向和反向输入电流的平均值,也就是Ib1、Ib2求平均,即(Ib1+Ib2)/2 按照下面…...

Windows 11 上通过 WSL (Windows Subsystem for Linux) 安装 MySQL 8

在 Windows 11 上通过 WSL (Windows Subsystem for Linux) 安装 MySQL 8 的步骤如下&#xff1a; ✅ 1. 检查 WSL 的安装 首先确保已经安装并启用了 WSL 2。 &#x1f527; 检查 WSL 版本 打开 PowerShell&#xff0c;执行以下命令&#xff1a; wsl --list --verbose确保 W…...

信用租赁系统助力企业实现免押金租赁新模式

内容概要 在现代商业环境中&#xff0c;信用租赁正在迅速崛起。通过结合大数据与区块链技术&#xff0c;信用租赁系统彻底改变了传统的租赁流程。什么是信用租赁呢&#xff1f;简单说&#xff0c;就是不需要押金&#xff0c;你也能够租到你想要的物品&#xff0c;这对企业和消…...

OSPF特殊区域(open shortest path first LSA Type7)

一、区域介绍 1、Stub区域 Stub区域是一种可选的配置属性。通常来说&#xff0c;Stub区域位于自治系统的边界&#xff0c;例如&#xff0c;只有一 个ABR的非骨干区域。在这些区域中&#xff0c;设备的路由表规模以及路由信息传递的数量都会大量减少。 kill 4 5类type 传递1 …...

Element-plus表单总结

表单包含输入框&#xff0c;单选框&#xff0c;下拉选择&#xff0c;多选框等用户输入的组件。输入表单&#xff0c;您可以收集、验证和提交数据。 经典表单 最基础的表单包括各种输入表单项&#xff0c;比如input、select、radio、checkbox等。 在每一个form组件中&#xff0…...

unity学习13:gameobject的组件component以及tag, layer 归类

目录 1 gameobject component 是unity的基础 1.1 类比 1.2 为什么要这么设计&#xff1f; 2 从空物体开始 2.1 创建2个物体 2.2 给 empty gameobject添加组件 3 各种组件和新建组件 3.1 点击 add component可以添加各种组件 3.2 新建组件 3.3 组件的操作 3.4 特别的…...

51单片机——中断(重点)

学习51单片机的重点及难点主要有中断、定时器、串口等内容&#xff0c;这部分内容一定要认真掌握&#xff0c;这部分没有学好就不能说学会了51单片机 1、中断系统 1.1 概念 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的&#xff0c;中断功能的存在&#…...

企业级Java 实体对象类定义规范

1. 查询参数类 (Query) 命名规则: xxxQuery.java用途: 用于封装查询操作的请求参数&#xff0c;通常包含分页、过滤、排序等字段。与数据库查询或 API 请求紧密相关。示例: ProductQuery.java、UserQuery.java使用场景: 查询条件的封装&#xff0c;发送查询请求时使用。 2. 返…...

【网络云SRE运维开发】2025第2周-每日【2025/01/07】小测-【第7章 GVRP链路捆绑】理论和实操

文章目录 一、理论题1.1 GVRP协议在华为设备中的主要作用是什么&#xff1f;1.2 在华为交换机上&#xff0c;配置GVRP时&#xff0c;端口的注册模式有哪些&#xff1f;并简要说明其特点。1.3 简述华为设备中GVRP协议的工作过程。1.4 在华为交换机上配置GVRP时&#xff0c;如果两…...

蓝桥杯算法|练习记录

位运算 按位与运算符&#xff08;&&#xff09; 运算规则&#xff1a;两位同时为1&#xff0c;结果才为1&#xff0c;否则结果为0。例如&#xff0c; -3&#xff08;在计算机中表示为1101&#xff09;&5&#xff08;0101&#xff09; 0101&#xff08;即十进制的1&…...

C语言 扫雷程序设计

目录 1.main函数 2.菜单打印menu函数 3.游戏game函数 4.宏定义 5.界面初始化 6.打印界面 7.设置雷 8.统计排查坐标周围雷的个数 9.排查雷 10.总代码 test.c代码 game.h代码 game.c代码 结语&#xff1a; 一个简单的扫雷游戏&#xff0c;通过宏定义可以修改行列的…...

CSS语言的文件操作

CSS语言文件操作浅析 CSS&#xff08;层叠样式表&#xff09;是一种用于描述HTML文档表现的样式表语言。它负责设置网页的视觉效果&#xff0c;包括文字、颜色、布局等。然而&#xff0c;CSS不仅仅是用于修饰页面&#xff0c;它在现代开发中的作用正变得愈发重要。在本文中&am…...

前端-计算机网络篇

一.网络分类 1.按照网络的作用范围进行分类 &#xff08;1&#xff09;广域网WAN(Wide Area Network) 广域网的作用范围通常为几十到几千公里,因而有时也称为远程网&#xff08;long haul network&#xff09;。广域网是互联网的核心部分&#xff0c;其任务是长距离运送主机…...

行为分析:LSTM、3D CNN、SlowFast Networks。这三者的优缺点

在行为分析任务中&#xff0c;**LSTM**、**3D CNN** 和 **SlowFast Networks** 是三种常用的深度学习模型。它们各有优缺点&#xff0c;适用于不同的场景和需求。以下是它们的详细对比&#xff1a; --- ### **1. LSTM&#xff08;Long Short-Term Memory&#xff09;** LSTM …...

【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起

【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务&#xff0c;解决屏幕录制音乐播放等操作不被挂起 一、前言 1.后台是什么&#xff1f; 了解后台任务和长时任务前&#xff0c;我们需要先明白鸿蒙的后台特性&#xff1a;所谓的后台&#xff0c;指的是设备返回主界面、锁屏、…...

STM32-WWDG/IWDG看门狗

WWDG/IWDG一旦开启不能关闭&#xff0c;可通过选项字节在上电时启动硬件看门狗&#xff0c;看门狗计数只能写入不能读取。看门狗启用时&#xff0c;T6bit必须置1&#xff0c;防止立即重置。 一、原理 独立看门狗-超时复位 窗口看门狗-喂狗&#xff08;重置计数器&#xff0c;…...

国产化替代实战:HC32F460平台FreeModbus RTU从站移植与调试全记录

1. 为什么选择HC32F460进行国产化替代 最近几年&#xff0c;国产芯片的崛起给工程师们带来了新的选择。我在实际项目中接触到小华半导体的HC32F460系列芯片时&#xff0c;第一感觉就是它的性能参数相当亮眼。这款芯片采用ARM Cortex-M4内核&#xff0c;主频高达168MHz&#xff…...

iStore:OpenWRT软件中心终极安装与使用完整指南

iStore&#xff1a;OpenWRT软件中心终极安装与使用完整指南 【免费下载链接】istore 一个 Openwrt 标准的软件中心&#xff0c;纯脚本实现&#xff0c;只依赖Openwrt标准组件。支持其它固件开发者集成到自己的固件里面。更方便入门用户搜索安装插件。The iStore is a app store…...

Janus-Pro-7B安全应用实践:基于网络流量可视化的异常行为检测

Janus-Pro-7B安全应用实践&#xff1a;基于网络流量可视化的异常行为检测 最近在琢磨一个挺有意思的事儿&#xff1a;网络安全这事儿&#xff0c;听起来挺技术&#xff0c;但很多时候&#xff0c;问题就藏在那些看不见摸不着的网络数据流里。传统的检测方法&#xff0c;要么靠…...

Is620伺服驱动电机成熟量产伺服控制器开发设计方案及代码完整原理图

伺服控制器开发设计方案成熟量产伺服控制器方案 Is620伺服驱动电机&#xff0c;提供DSP程序和原理图&#xff0c;代码完整&#xff0c;学习工业代码的范例&#xff0c;采用ES232,RS485及CAN通讯接口处提供刚性表设置&#xff0c;惯性识别及振动抑制功能抄起示波器探头直奔实验…...

写了 42 年的程序,我会被 AI 取代吗?

过去的几个月&#xff0c;我一直在涛思数据内部推动 AI 提效赋能&#xff0c;而且对大家使用Token 数目不做任何限制。自己更是身体力行&#xff0c;用 AI 重写用户手册、构建端到端测试例、拿出 AI-Agent Ready 的架构设计方案&#xff0c;做研发质量以及开发量的评估等等&…...

小白程序员也能看懂的大模型内部原理:从加减乘除到Llama 3.1(收藏版)

本文深入浅出地解析了大语言模型&#xff08;LLM&#xff09;的工作原理&#xff0c;从基础的加减乘除运算开始&#xff0c;逐步构建一个生成式AI&#xff0c;并最终理解现代LLM和Transformer架构。文章剥去了机器学习领域的复杂术语&#xff0c;将一切还原为数字&#xff0c;帮…...

Pandas 批量读写数据库:高效导入导出优化方案

在数据驱动的开发工作中&#xff0c;Pandas 凭借其强大的数据处理能力&#xff0c;已经成为 Python 数据生态中不可或缺的工具。然而&#xff0c;很多开发者在使用 Pandas 与数据库交互时&#xff0c;常常遇到一个令人头疼的问题&#xff1a;当数据量达到百万级甚至千万级时&am…...

Midscene.js:用自然语言重新定义跨平台UI自动化测试

Midscene.js&#xff1a;用自然语言重新定义跨平台UI自动化测试 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 想象一下&#xff0c;你只需要用自然语言描述&qu…...

C 语言从 0 入门(十一)|指针基础:定义、解引用、指针与变量

大家好&#xff0c;我是网域小星球。 前面我们学习了数组、函数、变量等基础内容&#xff0c;代码能力已经可以完成大多数基础程序。而从这一篇开始&#xff0c;我们正式进入 C 语言最核心、最具特色、也是最难的知识点&#xff1a;指针。 指针是 C 语言的灵魂&#xff0c;也…...

八大排序整合

最快的三个&#xff1a;快排、归并、堆排 → O (nlogn)最慢的四个&#xff1a;冒泡、选择、插入、希尔 → O (n) 级别稳定排序&#xff1a;冒泡、插入、归并、基数不稳定排序&#xff1a;选择、希尔、快排、堆排四个简单排序 除了基数排序&#xff0c;剩下的3个排序代码统一都…...