2013-11-21 18 views
0

我有一個簡短的問題。這裏是我的代碼:可以在數組調用中放置已定義的變量

d3.csv("test1.csv", function(data) { 



      var year = "state"; 


     .domain([ 
       d3.min(data, function(d) { return d.value; }), 
       d3.max(data, function(d) { return d.value; }) 
      ]); 

我在這裏查詢csv文件。 d3.min和max正在使用「return d.value;」返回名爲「value」的coloumn。

是否有可能在此調用中定義此代碼上方的年份變量,而不是從列名稱中硬編碼單詞「值」?

我想用這個變量來代替,然後我可以用一個改變來改變它。

我已經嘗試過返回d.year,但是這顯然尋找一個名爲year的列而不是我稱爲year的變量。

謝謝。

回答

3

使用括號語法:

var year = "state"; 
// ... 
.domain([ 
    d3.min(data, function(d) { return d[ year ]; }), 
    d3.max(data, function(d) { return d[ year ]; }) 
]); 

d.year指屬性year,因爲它只是一個標識符。

如果您想引用變量year並因此將其內容用作標識符,則必須使用括號語法。

+0

謝謝,在javascript上有點生疏。你的幫助非常棒。 – Malorrr

相關問題