You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将嵌套结构的两个数组按对应位置打包为目标二维数组

嵌套数组的Zip打包解决方案

你需要将两个嵌套数组(productTitles 和 productQuantity)按订单维度,把每个订单内的标题与对应位置的数量一一配对,生成每个订单专属的 [[标题, 数量], ...] 结构。

实现方法

首先可以写一个通用的单层级数组配对函数,再结合外层遍历处理嵌套结构:

// 单层级数组zip函数:将两个同长度数组的对应元素配对
function zip(arrA, arrB) {
  return arrA.map((item, idx) => [item, arrB[idx]]);
}

// 模拟你的输入数据
const productTitles = [
  ['Cukier biały premium', 'second item'],
  ['Cukier biały premium', 'Cukier czarny', 'Cukier amerykanski']
];
const productQuantity = [
  [1, 999],
  [1, 1, 1]
];

// 处理嵌套数组,生成目标结构
const mergedOrders = productTitles.map((orderTitles, orderIdx) => {
  // 拿到当前订单对应的数量数组
  const orderQuantities = productQuantity[orderIdx];
  return zip(orderTitles, orderQuantities);
});

console.log(mergedOrders);

如果不想单独定义zip函数,也可以直接把逻辑内联,代码更紧凑:

const mergedOrders = productTitles.map((titles, i) => 
  titles.map((title, j) => [title, productQuantity[i][j]])
);

关于你之前得到[undefined, undefined]的原因

大概率是在map回调里没有明确返回值,或者访问数组元素时索引越界。比如如果productTitles和productQuantity的子数组长度不匹配,或者外层遍历的时候没正确拿到对应的数量数组,都可能导致返回undefined。

内容的提问来源于stack exchange,提问作者xxxbud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 06:55:21