如何获取数组中的键值元素-ionic 3

时间:2019-03-30 11:34:18

标签: javascript html typescript ionic-framework ionic3

我是离子的新手,

我正在尝试显示已添加到购物车的购物车页面中的产品。使用rest API,我在控制台中得到了这样的响应。

"items": {
  "29.2.2.0.YTowOnt9": {
    "j2store_orderitem_id": null,
    "order_id": null,
    "orderitem_type": "normal",
    "cart_id": "59",
    "cartitem_id": "29",
    "product_id": "2"
  },
  "30.5.5.0.YTowOnt9": {
    "j2store_orderitem_id": null,
    "order_id": null,
    "orderitem_type": "normal",
    "cart_id": "59",
    "cartitem_id": "30",
    "product_id": "5"
  }

现在,问题出在 29.2.2.0.YTowOnt9 (购物车唯一键)是一种产品,而 30.5.5.0.YTowOnt9 是另一种产品。现在,我需要在卡片中显示此信息,并且每个产品属性都应在相应的卡片中显示。

如何循环获取cart_id和product_id?

2 个答案:

答案 0 :(得分:0)

Object.keys(object1) return name of keys as a string array

然后您可以使用

的foreach字符串获取产品ID。
object1.items[a].product_id




  const object1 = {
      "items": {
        "29.2.2.0.YTowOnt9": {
          "j2store_orderitem_id": null,
          "order_id": null,
          "orderitem_type": "normal",
          "cart_id": "59",
          "cartitem_id": "29",
          "product_id": "2"
        },
        "30.5.5.0.YTowOnt9": {
          "j2store_orderitem_id": null,
          "order_id": null,
          "orderitem_type": "normal",
          "cart_id": "59",
          "cartitem_id": "30",
          "product_id": "5"
        }
      }
    };

    var arr = Object.keys(object1.items);

    arr.forEach(a => {
      console.log(a) //item id
      console.log(object1.items[a].product_id) //product id
    });

答案 1 :(得分:0)

首先使用Object.entries()从给定的JSON创建一个数组。

然后,您可以在其上执行任何数组方法,例如array.map()for loop,for-each loop

这对您来说很容易。