【发布时间】:2020-02-22 14:37:08
【问题描述】:
这是初始状态,我尝试在每年和每个速度之前添加 year: 和 speed: 属性,并将所有对象添加到数组中以使用 d3js 处理。
{
2004: "226.933"
2005: "222.807"
2006: "221.869"
2007: "223.978"
2008: "218.385"
2009: "217.668"
2010: "216.061"
2011: "214.631"
2012: "214.053"
2013: "213.845"
2014: "206.436"
2015: "209.915"
2016: "214.51"
2017: "220.605"
2018: "222.128"
2019: "223.075"
}
我创建对象数组的代码
let arr = [];
let columns = ["year","speed"]
Object.entries(results).forEach(element => {
let imp = {};
let x = parseInt(element)
imp["year"] =parseInt(element[0]);
imp["speed"]=parseFloat(element[1]);
arr.push(imp);
});
console.log(arr);
这是我用控制台检查时得到的结果
[
0: {year: null, speed: 226.933}
1: {year: null, speed: 222.807}
2: {year: null, speed: 221.869}
3: {year: null, speed: 223.978}
4: {year: null, speed: 218.385}
5: {year: null, speed: 217.668}
6: {year: null, speed: 216.061}
7: {year: null, speed: 214.631}
8: {year: null, speed: 214.053}
9: {year: null, speed: 213.845}
10: {year: null, speed: 206.436}
11: {year: null, speed: 209.915}
12: {year: null, speed: 214.51}
13: {year: null, speed: 220.605}
14: {year: null, speed: 222.128}
15: {year: null, speed: 223.075}
]
演示:
const results = {
2016: "214.51",
2017: "220.605",
2018: "222.128",
2019: "223.075",
}
let arr = [];
let columns = ["year", "speed"]
Object.entries(results).forEach(element => {
let imp = {};
let x = parseInt(element)
imp["year"] = parseInt(element[0]);
imp["speed"] = parseFloat(element[1]);
arr.push(imp);
});
console.log(arr);
【问题讨论】:
-
考虑
map而不是forEach。 -
演示似乎运行良好。
-
代码工作正常,只有没有
,的json无效
标签: javascript arrays oop d3.js null