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

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);
相关推荐
有意义10 分钟前
从 useState 到 useEffect:React Hooks 核心机制详解
javascript·react.js·前端工程化
栀秋66611 分钟前
面试常考的最长递增子序列(LIS),到底该怎么想、怎么写?
前端·javascript·算法
Zyx200716 分钟前
手写 `instanceof`:深入理解 JavaScript 原型链与继承机制
javascript
江城开朗的豌豆30 分钟前
TypeScript和JavaScript到底有什么区别?
前端·javascript
前端不太难2 小时前
如何给 RN 项目设计「不会失控」的导航分层模型
前端·javascript·架构
用户4099322502122 小时前
Vue3中v-show如何通过CSS修改display属性控制条件显示?与v-if的应用场景该如何区分?
前端·javascript·vue.js
Zyx20072 小时前
JavaScript 中 this 的设计哲学与运行机制
javascript
A24207349302 小时前
JavaScript图表制作:从入门到精通
开发语言·javascript·信息可视化
瘦的可以下饭了2 小时前
Day03-APIs
javascript
BD_Marathon2 小时前
Vue3_简介和快速体验
开发语言·javascript·ecmascript