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

如何操作多数组与对象,提取OrderItem及MenuItem中的目标数据

访问嵌套的OrderItem与MenuItem并提取数据

我需要访问OrderItem数据及其内部嵌套的MenuItem对象,从中提取部分目标数据。

返回的对象结构

{ Order: [ { OrderItem: [Array] } ] }

Order内部结构(order.Order)

[
  {
    OrderItem: [
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object], [Object], [Object],
      [Object]
    ]
  }
]

OrderItem及内部MenuItem结构

[
  {
    id: 86,
    price: 180,
    quantity: 1,
    menuItemId: 1,
    orderId: 1,
    MenuItem: [Object] // 假设MenuItem包含id、name等业务字段
  },
  {
    id: 87,
    price: 135,
    quantity: 2,
    menuItemId: 7,
    orderId: 1,
    MenuItem: [Object]
  },
  {
    id: 88,
    price: 170,
    quantity: 2,
    menuItemId: 3,
    orderId: 1,
    MenuItem: [Object]
  },
  {
    id: 89,
    price: 170,
    quantity: 3,
    menuItemId: 3,
    orderId: 1,
    MenuItem: [Object]
  },
  // 更多OrderItem对象
]

提取目标数据的示例代码

假设我们需要提取每个OrderItem的id、price、quantity,以及对应MenuItem的id、name字段,可通过数组遍历实现:

// 假设原始数据为order对象
const order = { Order: [ { OrderItem: [...] } ] };

// 提取目标数据
const extractedData = order.Order[0].OrderItem.map(item => ({
  orderItemId: item.id,
  unitPrice: item.price,
  buyQuantity: item.quantity,
  menuId: item.MenuItem.id,
  menuName: item.MenuItem.name
}));

console.log(extractedData);

操作说明

  1. 先通过order.Order[0]定位到包含OrderItem数组的对象
  2. 用map遍历每个OrderItem实例,同时访问嵌套的MenuItem对象提取内部字段
  3. 最终生成仅包含目标字段的新数组,便于后续业务处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:01:17