Д3 колонки ТСВ доступ


Я следую примеру D3 отсюда: http://bl.ocks.org/mbostock/3883245 . я запрашиваю TSV с удаленного сервера для создания графика. Я знаю, что это работает нормально, потому что график автоматически изменит свою ось x за заданное время. Проблема в том, что один из столбцов TSV является: temperature [C]. Я изменил значения в примерах, чтобы они соответствовали TSV, но это не сработало, я думаю, что ему не понравились пробелы:

d3.tsv(tsvDataURL, function(error, data) {

                   data.forEach(function(d) {
                                d.time = parseDate(d.time);
                                d.temperature [C] = +d.temperature [C];
                                });

                   x.domain(d3.extent(data, function(d) { return d.time; }));
                   y.domain(d3.extent(data, function(d) { return d.temperature [C]; }))

...

Есть ли простой способ для меня, чтобы получить доступ к столбцу по индексу, например d[2];, чтобы получить второй столбец? Я пробовал это раньше, но это не работает, как ожидалось. Пожалуйста, извините мои слабые навыки JS, я очень Новичок во всем языке.

1 2

1 ответ:

Вы не можете использовать "точечную" нотацию для ключей объектов, в которых есть пробелы или специальные символы, вместо этого используйте скобочную нотацию:

d["temperature [C]"] = +d["temperature [C]"];

Чтобы упростить остальную часть кода, можно также дать переменной новое имя:

d.temp = +d["temperature [C]"];

Затем вы можете использовать d.temp в остальной части вашего кода.