Javascript和数组
尽管我有多年的编程经验,但这一直是我的跟腱 我有一个类似这样的json结果,我想从中使用highcharts.com绘制一个时间序列Javascript和数组,javascript,highcharts,Javascript,Highcharts,尽管我有多年的编程经验,但这一直是我的跟腱 我有一个类似这样的json结果,我想从中使用highcharts.com绘制一个时间序列 [{"iso-2":"DE","year":"2000","value":"0"},{"iso-2":"FR","year":"2000","value":"0"},{"iso-2":"KE","year":"2000","value":"0"},{"iso-2":"DE","year":"2001","value":"0"},{"iso-2":"FR","yea
[{"iso-2":"DE","year":"2000","value":"0"},{"iso-2":"FR","year":"2000","value":"0"},{"iso-2":"KE","year":"2000","value":"0"},{"iso-2":"DE","year":"2001","value":"0"},{"iso-2":"FR","year":"2001","value":"0"},{"iso-2":"KE","year":"2001","value":"0"},{"iso-2":"DE","year":"2002","value":"0"},{"iso-2":"FR","year":"2002","value":"0"},{"iso-2":"KE","year":"2002","value":"0"},{"iso-2":"DE","year":"2003","value":"9355"},{"iso-2":"FR","year":"2003","value":"19490"},{"iso-2":"KE","year":"2003","value":"0"},{"iso-2":"DE","year":"2004","value":"0"},{"iso-2":"FR","year":"2004","value":"0"},{"iso-2":"KE","year":"2004","value":"0"},{"iso-2":"DE","year":"2005","value":"11"},{"iso-2":"FR","year":"2005","value":"8"},{"iso-2":"KE","year":"2005","value":"0"},{"iso-2":"DE","year":"2006","value":"2"},{"iso-2":"FR","year":"2006","value":"1388"},{"iso-2":"KE","year":"2006","value":"0"},{"iso-2":"DE","year":"2007","value":"0"},{"iso-2":"FR","year":"2007","value":"0"},{"iso-2":"KE","year":"2007","value":"0"}]
我希望动态地将上述结果生成一个如下所示的数组
series: [{
name: 'KE',
data: [0,0,0,0,0,0,0,0]
}, {
name: 'FR',
data: [0,0,0,19490,0,8,1388,0]
}, {
name: 'DE',
data: [0,0,0,9355,0,2,0]
}]
非常感谢您调查此事
var gathered = data.reduce(function(prev, curr) {
if (prev.hasOwnProperty(curr["iso-2"])) {
prev[curr["iso-2"]].push(parseInt(curr["value"]));
} else {
prev[curr["iso-2"]] = [parseInt(curr["value"])];
}
return prev;
}, {});
var result = [];
for (var country in gathered) {
var obj = {};
obj["name"] = country;
obj["data"] = gathered[country];
result.push(obj);
}
console.log(result);
输出
[ { name: 'DE', data: [ 0, 0, 0, 9355, 0, 11, 2, 0 ] },
{ name: 'FR', data: [ 0, 0, 0, 19490, 0, 8, 1388, 0 ] },
{ name: 'KE', data: [ 0, 0, 0, 0, 0, 0, 0, 0 ] } ]
输出
[ { name: 'DE', data: [ 0, 0, 0, 9355, 0, 11, 2, 0 ] },
{ name: 'FR', data: [ 0, 0, 0, 19490, 0, 8, 1388, 0 ] },
{ name: 'KE', data: [ 0, 0, 0, 0, 0, 0, 0, 0 ] } ]
输出
[ { name: 'DE', data: [ 0, 0, 0, 9355, 0, 11, 2, 0 ] },
{ name: 'FR', data: [ 0, 0, 0, 19490, 0, 8, 1388, 0 ] },
{ name: 'KE', data: [ 0, 0, 0, 0, 0, 0, 0, 0 ] } ]
输出
[ { name: 'DE', data: [ 0, 0, 0, 9355, 0, 11, 2, 0 ] },
{ name: 'FR', data: [ 0, 0, 0, 19490, 0, 8, 1388, 0 ] },
{ name: 'KE', data: [ 0, 0, 0, 0, 0, 0, 0, 0 ] } ]
考虑到JSON中的数据是按年份排序的,我可以这样想:
var json_data = '[{"iso-2":"DE","year":"2000","value":"0"},...]'; // This is the json data you have.
var data = JSON.parse(json_data); // Convert JSON data to javascript object or array
// Organize the data in an object
var organized = {};
data.forEach(function (item){
if (typeof organized[item['iso-2']] !== 'undefined'){
organized[item['iso-2']].push(item['value']);
} else {
organized[item['iso-2']] = [item['value']];
}
});
// Convert the object to the format you need
var series = [];
for (i in organized){
series.push({
name: i,
data: organized[i]
});
}
考虑到JSON中的数据是按年份排序的,我可以这样想:
var json_data = '[{"iso-2":"DE","year":"2000","value":"0"},...]'; // This is the json data you have.
var data = JSON.parse(json_data); // Convert JSON data to javascript object or array
// Organize the data in an object
var organized = {};
data.forEach(function (item){
if (typeof organized[item['iso-2']] !== 'undefined'){
organized[item['iso-2']].push(item['value']);
} else {
organized[item['iso-2']] = [item['value']];
}
});
// Convert the object to the format you need
var series = [];
for (i in organized){
series.push({
name: i,
data: organized[i]
});
}
考虑到JSON中的数据是按年份排序的,我可以这样想:
var json_data = '[{"iso-2":"DE","year":"2000","value":"0"},...]'; // This is the json data you have.
var data = JSON.parse(json_data); // Convert JSON data to javascript object or array
// Organize the data in an object
var organized = {};
data.forEach(function (item){
if (typeof organized[item['iso-2']] !== 'undefined'){
organized[item['iso-2']].push(item['value']);
} else {
organized[item['iso-2']] = [item['value']];
}
});
// Convert the object to the format you need
var series = [];
for (i in organized){
series.push({
name: i,
data: organized[i]
});
}
考虑到JSON中的数据是按年份排序的,我可以这样想:
var json_data = '[{"iso-2":"DE","year":"2000","value":"0"},...]'; // This is the json data you have.
var data = JSON.parse(json_data); // Convert JSON data to javascript object or array
// Organize the data in an object
var organized = {};
data.forEach(function (item){
if (typeof organized[item['iso-2']] !== 'undefined'){
organized[item['iso-2']].push(item['value']);
} else {
organized[item['iso-2']] = [item['value']];
}
});
// Convert the object to the format you need
var series = [];
for (i in organized){
series.push({
name: i,
data: organized[i]
});
}
可能重复我写了又写,直到我的手指受伤。我在创建这个系列的过程中陷入了循环,我尝试了for循环,并使用了jQuery的filter()和map()函数,但逻辑并不是那么简单。我已经检查了链接,但是我们正在绘制一些稍微不同的东西,但是正在尝试答案。谢谢你的写作,我相信:)我想说的是,一些代码会更有用。可能重复我写的和重写的,直到我的手指受伤。我在创建这个系列的过程中陷入了循环,我尝试了for循环,并使用了jQuery的filter()和map()函数,但逻辑并不是那么简单。我已经检查了链接,但是我们正在绘制一些稍微不同的东西,但是正在尝试答案。谢谢你的写作,我相信:)我想说的是,一些代码会更有用。可能重复我写的和重写的,直到我的手指受伤。我在创建这个系列的过程中陷入了循环,我尝试了for循环,并使用了jQuery的filter()和map()函数,但逻辑并不是那么简单。我已经检查了链接,但是我们正在绘制一些稍微不同的东西,但是正在尝试答案。谢谢你的写作,我相信:)我想说的是,一些代码会更有用。可能重复我写的和重写的,直到我的手指受伤。我在创建这个系列的过程中陷入了循环,我尝试了for循环,并使用了jQuery的filter()和map()函数,但逻辑并不是那么简单。我已经检查了链接,但是我们正在绘制一些稍微不同的东西,但是正在尝试答案。谢谢你的写作,我相信:)我想说的是,一些代码会更有用。非常感谢!如果我有你的地址,我会在你家门口送一箱啤酒@谢谢你:请考虑接受这个答案,如果它对你有帮助的话:“非常感谢你!”如果我有你的地址,我会在你家门口送一箱啤酒@谢谢你:请考虑接受这个答案,如果它对你有帮助的话:“非常感谢你!”如果我有你的地址,我会在你家门口送一箱啤酒@谢谢你:请考虑接受这个答案,如果它对你有帮助的话:“非常感谢你!”如果我有你的地址,我会在你家门口送一箱啤酒@谢谢你:请考虑接受这个答案,如果它对你有帮助的话):它的工作也很有魅力。不需要像第2行那样转换为Json,因为它已经是Json了。我喜欢你的解决方案,因为我不需要添加额外的JS,它也像一个魅力。不需要像第2行那样转换为Json,因为它已经是Json了。我喜欢你的解决方案,因为我不需要添加额外的JS,它也像一个魅力。不需要像第2行那样转换为Json,因为它已经是Json了。我喜欢你的解决方案,因为我不需要添加额外的JS,它也像一个魅力。不需要像第2行那样转换为Json,因为它已经是Json了。我喜欢你的解决方案,因为我不需要添加额外的js