我有这样的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”)?感谢。
答案 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
属性。