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

如何将Locations[0]作为Sku字段填充到Locations[1]的数组对象中?

解决方案:转换SKU与库存位置数据格式

原始输入数据

[{
    "Locations": ["TP-401176509", [{
      "WarehouseCode": "01",
      "LocationCode": "A-04B01-B",
      "Quantity": 1,
      "Reserve": false
    }, {
      "WarehouseCode": "01",
      "LocationCode": "A-04B02-A",
      "Quantity": 1,
      "Reserve": false
    }, {
      "WarehouseCode": "01",
      "LocationCode": "A-04B13-A",
      "Quantity": 1,
      "Reserve": false
    }]]
}]

预期输出格式

[{
    "Sku": "TP-401176509",
    "WarehouseCode": "01",
    "LocationCode": "A-04B01-B",
    "Quantity": 1,
    "Reserve": false
  }, {
    "Sku": "TP-401176509",
    "WarehouseCode": "01",
    "LocationCode": "A-04B02-A",
    "Quantity": 1,
    "Reserve": false
  }, {
    "Sku": "TP-401176509",
    "WarehouseCode": "01",
    "LocationCode": "A-04B13-A",
    "Quantity": 1,
    "Reserve": false
  }]

实现代码

const rawData = [{
    "Locations": ["TP-401176509", [{
      "WarehouseCode": "01",
      "LocationCode": "A-04B01-B",
      "Quantity": 1,
      "Reserve": false
    }, {
      "WarehouseCode": "01",
      "LocationCode": "A-04B02-A",
      "Quantity": 1,
      "Reserve": false
    }, {
      "WarehouseCode": "01",
      "LocationCode": "A-04B13-A",
      "Quantity": 1,
      "Reserve": false
    }]]
}];

const transformedData = rawData.flatMap(item => {
  const sku = item.Locations[0];
  const locations = item.Locations[1];
  return locations.map(location => ({
    Sku: sku,
    ...location
  }));
});

console.log(transformedData);

代码说明

  • 用flatMap遍历原始数组,同时展开结果数组,避免嵌套结构;
  • 从每个Locations数组中提取SKU(item.Locations[0])和位置详情列表(item.Locations[1]);
  • 通过map给每个位置对象添加Sku字段,同时保留原有属性。

如果原始数据包含多个SKU条目,该逻辑会自动处理所有条目并合并结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:44:16