【问题标题】:Looping over json /array/object [duplicate]循环 json /array/object [重复]
【发布时间】:2017-06-25 23:28:48
【问题描述】:

我已经坚持了一段时间。我将如何遍历具有数组值的对象。请,任何帮助不胜感激。 JSON 数据结构不是我的强项

var storeProducts = {"items": [
 {
   "imgsrc": "https://cdn.shopify.com/s/files/1/0094/2252/products/M997ST_6940.progressive.jpg?v=1497039024",
   "productname": "New Balance",
   "productlistprice": "$240",
   "discounted": "false",
   "productprice": "",
 },
 {
   "imgsrc": "https://cdn.shopify.com/s/files/1/0094/2252/products/Peacoat_363758_02_6428.progressive.jpg?v=1496428432",
   "productname": "Puma Sneakers",
   "productlistprice": "$120",
   "discounted": "false",
   "productprice": "",
 },
 {
   "imgsrc": "https://cdn.shopify.com/s/files/1/0094/2252/products/Titan_Weave_WhiteBlueEstate_50117182901_C6501_5945-78.progressive.jpg?v=1494616290",
   "productname": "Diadora",
   "productlistprice": "$100",
   "discounted": "true",
   "productprice": "190",
 },
]};

【问题讨论】:

  • 这似乎是一个很常见的问题...您确定要寻找答案吗?参见例如thisthis...

标签: javascript arrays json sorting object


【解决方案1】:

@Arthur 是对的。

解决方案:

foreach( var i = 0; i < storeProducts.items.length; i++ ) {
    var item = storeProducts.items[i];
}

【讨论】:

  • 或者更简单:storeProducts.items.forEach( item =&gt; console.log( item ) )
【解决方案2】:

假设您要获取所有 imgsrc URL。你可以这样继续。

let imgURL = storeProducts.items.map(product =>product.imgsrc);

要获取数组中的第一项,您只需要这样做。

let firstImgURL = imgURL[0];

let storeProducts = {
"items": [
 {
   "imgsrc": "https://cdn.shopify.com/s/files/1/0094/2252/products/M997ST_6940.progressive.jpg?v=1497039024",
   "productname": "New Balance",
   "productlistprice": "$240",
   "discounted": "false",
   "productprice": "",
 },
 {
   "imgsrc": "https://cdn.shopify.com/s/files/1/0094/2252/products/Peacoat_363758_02_6428.progressive.jpg?v=1496428432",
   "productname": "Puma Sneakers",
   "productlistprice": "$120",
   "discounted": "false",
   "productprice": "",
 },
 {
   "imgsrc": "https://cdn.shopify.com/s/files/1/0094/2252/products/Titan_Weave_WhiteBlueEstate_50117182901_C6501_5945-78.progressive.jpg?v=1494616290",
   "productname": "Diadora",
   "productlistprice": "$100",
   "discounted": "true",
   "productprice": "190",
 },
]};

var imgURL = storeProducts.items.map(product =>product.imgsrc);
console.log(imgURL);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-06
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    相关资源
    最近更新 更多