D3.js d3将两个值嵌套为键值对

D3.js d3将两个值嵌套为键值对,d3.js,nested,D3.js,Nested,我有一个转换为对象的csv文件: [object Object] { key: "2020-07-09", values: [[object Object] { cases: "49174", date: "2020-07-09", deaths: "1068", fips: "01", state: "Alabama" } } 我希望将此对象的输出作为一个嵌套,如下所示:

我有一个转换为对象的csv文件:

[object Object] {
key: "2020-07-09",
values: [[object Object] {
cases: "49174",
date: "2020-07-09",
deaths: "1068",
fips: "01",
state: "Alabama"
}
}
我希望将此对象的输出作为一个嵌套,如下所示:

key: "2020-07-09",
perstate: {
"Alabama" : "49174"
}

我不知道如何将两个值转换为键值对

假设对象位于一个数组中,称为
数据

data.map(d=>({
钥匙:d.key,
个人状态:{
[d.values.state]:d.values.cases
}
}))
为了简洁起见,我们使用ES6 arrow函数,将对象文本放在parantese中,以指示该函数返回一个对象


要计算密钥,我们使用。这允许我们在
值处获取值。声明
并将其用作键。

假设对象位于一个称为
数据的数组中

data.map(d=>({
钥匙:d.key,
个人状态:{
[d.values.state]:d.values.cases
}
}))
为了简洁起见,我们使用ES6 arrow函数,将对象文本放在parantese中,以指示该函数返回一个对象


要计算密钥,我们使用。这允许我们在
values.state中获取值,并将其用作键。

这似乎不起作用,我没有收到任何错误,但是当我删除所有代码时,console.log也不会打印任何内容,并执行console.log(d);它不打印任何内容,您可以检查这个jsbin:代码中数据[1]中的对象没有相同的结构。相反,它看起来是这样的:{cases:“1”,country:“Snohomish”,date:“2020-01-21”,deations:“0”,fips:“53061”,state:“Washington”}所以你可以这样做:data.map(d=>({key:d.key,perstate:{[d.state]:d.cases}])这似乎不起作用,我没有错误,但是当我删除所有代码并执行console.log(d)时,console.log也不会打印任何内容;它不打印任何内容,您可以检查这个jsbin:代码中数据[1]中的对象没有相同的结构。相反,它看起来是这样的:{cases:“1”,country:“Snohomish”,date:“2020-01-21”,death:“0”,fips:“53061”,state:“Washington”}所以你可以这样做:data.map(d=>({key:d.key,perstate:{[d.state]:d.cases}))