簡體   English   中英

傳遞函數參數以從對象檢索數據

[英]Passing function argument to retrieve data from an object

我正在處理的腳本有一些麻煩。 我從產品目錄中獲得了一個包含多個項目的對象。

我試圖做的是編寫一個函數,使我可以輕松地呈現此數據。

<script type="application/javascript">
SKUinfo =
{
  "s238554": {
    "Age": {
      "Description": "Age 18+",
      "Thumbnail": "/productImages/assets/img/icon18.gif"
    },
    "Barcode": {
      "Barcode": "50622132430794"
    },
    "Currency": "£",
    "Description": "Description goes here",
    "Id": 44305,
     "Packshots": [
      "/productImages/238556/1min.jpg",
      "/productImages/238556/2med.jpg",
      "/productImages/238556/3max.jpg"
    ],
    "Pegis": [],
    "Platform": {
      "Button": "Xbox 360",
      "ID": 0
    },
    "Publisher": {
     "Description": null
    },
    "Release": "/Date(1392940800000+0000)/",
    "Screenshots": [
      {
        "ScreenshotMax": "/productImages/238556/5scrmax1.jpg",
        "ScreenshotMin": "/productImages/238556/4scrmin1.jpg"
      }
    ],
    "Title": "Product title 2 goes here",
    "Variants": [
      {
        "Id": 58242,
        "MaxOrderQuantity": 3,
        "Presellable": true,
        "Price": 29.97,
        "PriceCultureFormat": "29.97",
        "PriceWithCurrencyFormat": "£29.97",
        "Sku": 238556,
        "Type": {
          "Description": "New"
        }
      },
    ],
    "Vendor": {
      "Description": ""
    },
  },
  "s238556": {
    "Age": {
      "Description": "Age 18+",
      "Thumbnail": "/productImages/assets/img/pegi/icon18.gif"
    },
    "Barcode": {
      "Barcode": "5060134530794"
    },
    "Currency": "£",
    "Description": "Description here",
    "Id": 654654,
    "Packshots": [
      "/productImages/238556/1min.jpg",
      "/productImages/238556/2med.jpg",
      "/productImages/238556/3max.jpg"
    ],
    "Pegis": [],
    "Platform": {
      "Button": "PlayStation 3",
      "ID": 0
    },
    "Publisher": {
      "Description": null
     },
    "Release": "/Date(1392940800000+0000)/",
    "Screenshots": [
      {
        "ScreenshotMax": "/productImages/238556/5scrmax1.jpg",
        "ScreenshotMin": "/productImages/238556/4scrmin1.jpg"
      },
      {
        "ScreenshotMax": "/productImages/238556/7scrmax2.jpg",
        "ScreenshotMin": "/productImages/238556/6scrmin2.jpg"
      },
    ],
    "Title": "Product title 2 goes here",
    "Variants": [
      {
        "Id": 58242,
        "MaxOrderQuantity": 3,
        "Presellable": true,
        "Price": 29.97,
        "PriceCultureFormat": "29.97",
        "PriceWithCurrencyFormat": "£29.97",
        "Sku": 238556,
        "Type": {
          "Description": "New"
        }
      },
    ],
    "Vendor": {
      "Description": ""
    },
    "VideoHTML": "html here",
    "status": {
      "Response": "product found",
      "Success": true
    }
  }
}
</script>

上面的示例是我獲得兩種產品的輸出。

如果我嘗試訪問此數據,這就是我遇到的問題

<script type="application/javascript">
function getSKU(s)
{
        console.log(SKUinfo.s.Title);
}

getSKU(s238554);


</script>

我想這是由於將參數s傳遞回getSKU函數和數據對象中的節點選擇引起的。 在這種情況下,我希望控制台輸出為SKU s238554的標題。

但是,我得到的是: Uncaught ReferenceError: s238554 is not defined

我將不勝感激,因為我是javascript新手,可以提供任何指導。

通過訪問您的屬性使用[]SKUinfo.s.TitleSKUinfo[s].Title

並在屬性名稱中加上引號's238554'因為它不是變量。

這樣的事情。

function getSKU(s){
     console.log(SKUinfo[s].Title);
}

getSKU('s238554'); // s238554 within quotes.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM