关于根据动态数量的对象的某属性的数组数量呈乘机式增长的数据处理

adta是原始数组,currentIndex默认是零,currentObject初始对象,result处理生成的结果

javascript 复制代码
function generateObjects(data, currentIndex, currentObject, result) {
    if (currentIndex === data.length) {
      result.push(currentObject);
      return;
    }

    const currentCode = data[currentIndex].code;
    const currentSelect = data[currentIndex].select;

    for (let i = 0; i < currentSelect.length; i++) {
      const newObject = { ...currentObject };
      newObject[currentCode] = currentSelect[i];
      generateObjects(data, currentIndex + 1, newObject, result);
    }
  }

  const result = [];
  generateObjects(data, 0, {}, result);
相关推荐
用户新2 小时前
JS事件深度解析四 事件的循环和异步
前端·javascript·事件·event loop
LIUAWEIO12 小时前
vue里面下载配置使用zepto vue中怎样使用zepto
javascript·vue.js·es6·zepto
lantian12 小时前
TypeScript 三斜线指令完全指南:从入门到理解为什么不再需要它
前端·javascript·vue.js
用户9385156350712 小时前
从"用栈实现队列"说起:深入理解 JavaScript 原型式面向对象
javascript
ZengLiangYi12 小时前
AI 编程工具的数据格式为什么不能统一
javascript·后端·架构
陈_杨12 小时前
鸿蒙APP开发-带你走进旧物集的时间线与收藏管理
前端·javascript
尼斯湖皮皮怪13 小时前
iceCoder双模详解
javascript
小雨下雨的雨13 小时前
月相分析工具鸿蒙PC Electron框架技术实现详解
前端·javascript·华为·electron
布依前端13 小时前
基于 Vue 3 的 Tiptap 富文本编辑器实践:tiptap-editor-vue3 项目介绍
前端·javascript·vue.js
奥利奥夹心脆芙13 小时前
OTel / Logstash / Fluentd 全维对比,及统一日志与指标管道的 AWS ECS 落地
javascript