d3从csv文件中提取单个值

时间:2015-10-21 17:54:54

标签: javascript arrays d3.js

我有这样的CSV文件(更大文件的简化版):

year,state,value
2012,Alabama,12
2012,New York,17
2012,Iowa,16
2012,Oregon,10
2012,Montana,14

我想从像爱荷华州这样的州提取价值。我有一个功能,它给了我一个对象。

var t= data.filter(function(d) { return d.state == "Iowa" });

如何从此数组中提取值(“16”)?感谢。

1 个答案:

答案 0 :(得分:1)

您的数据阵列可能如下所示。

var data = [{"year": "2012", "state": "Alabama", "value": "12"}, 
     {"year": "2012", "state": "New York", "value": "17"}, 
     {"year": "2012", "state": "Iowa", "value": "16"}, 
     {"year": "2012", "state": "Oregon", "value": "10"}, 
     {"year": "2012", "state": "Montana", "value": "10"}];

要提取值,您可以执行此操作

data.filter(function(d) { return d.state === "Iowa" })[0].value;

var data = [{"year": "2012", "state": "Alabama", "value": "12"}, 
     {"year": "2012", "state": "New York", "value": "17"}, 
     {"year": "2012", "state": "Iowa", "value": "16"}, 
     {"year": "2012", "state": "Oregon", "value": "10"}, 
     {"year": "2012", "state": "Montana", "value": "10"}];

var value = data.filter(function(d) { return d.state === "Iowa" })[0].value;

document.getElementById("my-val").innerHTML = value;
<p id="my-val"></p>

你有正确的想法。 filter函数返回一个新数组,在这种情况下,该元素是一个对象。要访问此元素,请使用括号表示法,然后获取value属性。