繁体   English   中英

从对象中获取项目数组 - typescript

[英]Get an array of items from an object- typescript

我有一个具有以下结构的 object:

  Order: [
    {
      id: '001',
      type: '',
      status: '',
      users: [
        {
          OrderId:'001', 
          userId: 'String',
          user: {
            email: 'string',
            givenName: 'Name',
            lastName: 'LastName',
            phone: 'string',
          },
        },
      ],
  
    },

订单是 Order[] 类型,用户是 UserData[] 类型

  type Order
  @model
  @key(fields: ["organizationId", "id"])
  @auth(
    rules: []
  ) {
  id: ID!
  type: OrderType
  status: OrderStatus

  userConnections: [UserOrderConnection] @connection(keyName: "byOrder", fields: ["id"])

  organizationId: ID!
}

type UserOrderConnection
  @model
  @key(fields: ["organizationId", "id"])
  @key(name: "Order", fields: ["OrderId"], queryField: "userOrderByOrder")
  @auth(
    rules: []
  ) {
  id: ID!
  accepted: Boolean
  OrderId: ID!
  Order: Order @connection(fields: ["organizationId", "id"])
  userId: ID!
  user: UserData
}

每当我尝试获取每个订单的用户列表时:

let users = this.Order.users

它说:用户不存在于 Order[] 类型上,任何人都可以为我解释为什么。

Order 是一个对象数组,您需要获取第一个元素,例如Order[0]然后访问.users

let users = this.Order[0].users

好好复习一下可能会有所帮助; 如何访问和处理嵌套对象 arrays 或 JSON?

Order是一个包含对象的数组。 要访问users ,您需要访问索引[0]处的项目(如果它具有属性?.users

this.Order[0]?.users

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM