这个问题使用的数据和我之前的一个问题一样,但是问题不一样。我有一个如下所示的 csv 文件:
name,score,date
Bob,93,2014
Bob,85,2015
Barry,70,2015
...
没有两个人的名字相同,但一个人可以有多个条目。如何在 d3.csv 回调函数中创建一个如下所示的数组?:
[{name: "Bob", values: [
{score: 93, date: 2014},
{score: 85, date: 2015}]}
{name: "Barry", values: [
{score: 70, date: 2015}]},
...
通常我可以使用纯 javascript 执行此操作,但使用 arrayName[objectIndex].objectPropertyName
访问属性值在 d3 回调函数中不起作用。
最佳答案
d3.nest()将您的 csv 数据转换为键值对的函数。看this plnkr链接以查看控制台中的对象。要获取最小最大数据,请参阅 this updated plnkr .
d3.csv("data.csv", function(error, data) {
console.log(data);
var updated = d3.nest().key(function(d) {
return d.name;
}).sortKeys(d3.ascending).entries(data);
console.log(updated);
})
关于javascript - 如何从 D3.js 中的 csv 文件创建嵌套对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32637068/