2016-05-13 117 views
0

我有以下數據對象的Javascript - 訪問對象

var data = { 
    labels: ["2013", "2014", "2015", "2016"], 
    datasets: [ 
    { 
     label: "Label 1", 
     data: data1, 
    }, 
    { 
     label: "Label 2", 
     data: data2, 
    } 
    ] 
}; 

我想要得到的第二個標籤「標記2」。

我曾嘗試使用

console.log(data.datasets[0].label); // Only returns Label 1 
console.log(data.datasets[0][1].label); // Doesn't work 

我不希望因爲我使用它與chart.js之繪製圖表在結構上作出改變。

在此先感謝。

+2

'console.log(data.datasets [1] .label);'..? – George

回答

3

您可以像這樣訪問:

console.log(data.datasets[1].label); 

例子:https://jsfiddle.net/55ex0p80/

讓我們將它分解爲四個步驟:

data.datasets[ 1 ].label 
| |   | | 
1 2   3 4 
| |   | \- The field "label" of the object 
| |   \---- The desired key of the array called "datasets" 
| \-------------- The array called "datasets" 
\------------------- The data object 

這樣你在標籤結束您正在尋找的領域:

var data = {    <---- step 1 
    labels: ["2013", "2014", "2015", "2016"], 
    datasets: [   <---- step 2 
    { 
     label: "Label 1", 
     data: data1, 
    }, 
    {     <---- step 3 
     label: "Label 2", <---- step 4 
     data: data2, 
    } 
    ] 
}; 
1
  • data = {}是一個對象
  • labels =["2013","2014",...]是一個字符串數組
  • datasets = [{},{},{}]是對象

的陣列因此用於訪問'Label 2'需要訪問的數據集陣列的第二對象,然後訪問其標籤爲:data.datasets[1].label