循环数组不起作用

时间:2018-01-02 21:18:35

标签: javascript arrays

我有这个数组,我是从这个代码生成的chrome控制台复制的

    var cartarry = JSON.parse(localStorage.getItem("cart"));
    console.log(cartarry)

products
:
Array(5)

{id: "1510-01-312-3501-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1514542566148", name: "AIRPLANE UTILITY", price: "$90", quantity: "1"}

1
:
{id: "1510-01-312-3501-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1514542566148", name: "AIRPLANE UTILITY", price: "$90", quantity: "1"}

2
:
{id: "1510-00-033-6312-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1514540733034", name: "AIRPLANE UTILITY", price: "$43", quantity: "3"}

3
:
{id: "1510-00-033-6312-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1514540733034", name: "AIRPLANE UTILITY", price: "$43", quantity: "1"}

4
:
{id: "1510-00-033-6312-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1514540733034", name: "AIRPLANE UTILITY", price: "$43", quantity: "1"}

length
:
5

我想遍历数组并获取每个ID,名称,价格和数量。我尝试使用此代码

cartarry.forEach(function(element) {
console.log(element);
})

但是我收到了这个错误

  

cartarry.forEach不是函数

我尝试使用此

检索每个手册
  cartarry[1]

但没有任何反应。我做错了什么,我如何循环产品阵列以获得每个产品的属性?

2 个答案:

答案 0 :(得分:2)

看起来cartarry.products可能会保留数组。试试cartarry.products.forEach()

答案 1 :(得分:1)

我假设您有这样的数据结构:

{
  'products': [
    {id: "1510-01-312-3501-OkqcPp3xJwfgmNinwGsKZmAa8xt1-1514542566148", name: "AIRPLANE UTILITY", price: "$90", quantity: "1"},
    ...
  ]
}

因此,为了获得ID,您需要:

cartarry.products.forEach();

一步一步地检查cartarry.products类型是什么,它应该是一个数组。