2016-05-13 4 views
0

私は、次のデータオブジェクトJavascriptを - アクセスオブジェクト

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

を持っている私は2番目のラベル「ラベル2」を取得したいです。

私はチャートを描画するChart.jsでそれを使用していたような構造上の変更を行いたくない

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

を使用しようとしました。

ありがとうございます。

+2

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

答えて

3

あなたはこのようにそれにアクセスすることができます。

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

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

のは、4つのステップにそれを打破してみましょう:

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

関連する問題