2013-11-21 2 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 возвращают coloumn с именем «value», используя «return d.value;».

Возможно ли, чтобы в этом вызове переменная года, определенная выше этого кода, вместо жесткого кодирования слова «значение» из имени столбца?

Я хотел бы использовать переменную, а затем я мог бы изменить ее с одним изменением.

Я попытался вернуть d.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

Смежные вопросы