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

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);
相关推荐
工程师老罗3 小时前
Image(图像)的用法
java·前端·javascript
早點睡3903 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-swiper
javascript·react native·react.js
jump_jump4 小时前
深入 JavaScript Iterator Helpers:从 API 到引擎实现
javascript·性能优化
swipe4 小时前
把 JavaScript 原型讲透:从 `[[Prototype]]`、`prototype` 到 `constructor` 的完整心智模型
前端·javascript·面试
Dxy12393102164 小时前
JS发送请求的方法详解
开发语言·javascript·ecmascript
harrain5 小时前
antvG2折线图和区间range标记同时绘制
前端·javascript·vue.js·antv·g2
网络点点滴7 小时前
组件通信-作用域插槽
前端·javascript·vue.js
LZQ <=小氣鬼=>7 小时前
React 图片放大镜组件使用文档
javascript·react.js·前端框架·ecmascript
kyriewen118 小时前
异步编程:从“回调地狱”到“async/await”的救赎之路
开发语言·前端·javascript·chrome·typescript·ecmascript·html5
早點睡3908 小时前
ReactNative项目Openharmony三方库集成实战:@react-native-clipboard/clipboard
javascript·react native·react.js