我目前正在使用d3.js进行数据可视化,其中我每季度都有GDP数据。数据如下所示:
[
[
"1947-01-01",
243.1
],
[
"1947-04-01",
246.3
],
[
"1947-07-01",
250.1
]
]
我想要的是将其变成以下内容:
[
[
date: "1947-01-01",
GDP: 243.1
],
[
date: "1947-04-01",
GDP: 246.3
],
[
date: "1947-07-01",
GDP: 250.1
]
我尝试这样做,但它将数组元素转换为字符串。
d3.json("data/GDP-data.json").then(function (dataTotal) {
data = dataTotal.data;
console.log(data);
for(var i=0;i<data.length;i++){
data[i]["0"] = new Date(data[i]["0"])
data[i]["0"]="date: "+data[i]["0"];
data[i][1] = "GDP: "+data[i][1];
}
}
有没有办法不将每个元素转换为字符串,同时仍然在它之前添加文本?这会使调用某些数据点变得容易得多。
答案 0 :(得分:2)
使用<changeSet id="changeSetId" author="John Doe">
<preConditions onFail="MARK_RAN">
<foreignKeyConstraintExists foreignKeyName="DummyFK1"/>
</preConditions>
<comment>Drop FK DummyFK1</comment>
<dropForeignKeyConstraint baseTableName="DummyToken" constraintName="DummyFK1"/>
</changeSet>
map
<强>演示强>
arr.map( s => ({ date : s[0], gdp : s[1] }) );
&#13;
答案 1 :(得分:0)
您可以使用map
来实现
var data = [
[
"1947-01-01",
243.1
],
[
"1947-04-01",
246.3
],
[
"1947-07-01",
250.1
]
];
var r = data.map(o=> ({date: o[0], GDP: o[1]}));
console.log(r)
&#13;