Javascript JSON和D3,仅更改子键名称,但保留父键名称

Javascript JSON和D3,仅更改子键名称,但保留父键名称,javascript,json,d3.js,Javascript,Json,D3.js,为了使我的D3图正确工作,我需要孩子们的名字不是“键”,而是“标签”。父母仍然需要成为“关键” 这是我的代码和输出。下面是我尝试过的几件事,但都没有成功 扩展目标,如果可能的话:我也不一定要“硬编码”它。我希望能够将任何级别(本例中仅为第一级)的儿童姓名更改为我想要的任何名称(本例中为“标签”) var csv=`breakfastItem,麸质,breakfastItemType,月,年,日期代码,值 百吉饼,是的,肉桂葡萄干,201742856300年5月 百吉饼,是的,肉桂葡萄干,201

为了使我的D3图正确工作,我需要孩子们的名字不是“键”,而是“标签”。父母仍然需要成为“关键”

这是我的代码和输出。下面是我尝试过的几件事,但都没有成功

扩展目标,如果可能的话:我也不一定要“硬编码”它。我希望能够将任何级别(本例中仅为第一级)的儿童姓名更改为我想要的任何名称(本例中为“标签”)

var csv=`breakfastItem,麸质,breakfastItemType,月,年,日期代码,值
百吉饼,是的,肉桂葡萄干,201742856300年5月
百吉饼,是的,肉桂葡萄干,201742795100年3月
百吉饼,是的,肉桂葡萄干,201642675,20年11月
百吉饼,是的,蓝莓,201742767,50年2月
百吉饼,是的,蓝莓,201642675,30年11月
百吉饼,是的,蓝莓,201642430100年3月
百吉饼,是的,原味,2018431200年2月
百吉饼,是的,原味,201743070202年12月
百吉饼,是的,原味,201642401201年2月;
变量数据=d3.csvParse(csv,函数(d){
d、 值=+d.值;
d、 年份=+d.year;
d、 dateCode=+d.dateCode;
返回d;
});
var breakfastCombinations=d3.nest()
.键(功能(d){
返回d.breakfastem;
})
.键(功能(d){
返回d.breakfastemtype;
})
.rollup(函数(最旧日期){
返回oldestDate.sort(函数(a,b){
返回b.dateCode-a.dateCode
})[0]。值
})
.条目(数据);
console.log(早餐组合)
您可以使用来映射项目:

例如,如果要查找从“键”到“标签”的父映射,请使用以下命令:

.entries(data).map(function(group) {
  // parent mapping
  return {label: group.key, values: group.values};
})
var csv=`breakfastItem,麸质,breakfastItemType,月,年,日期代码,值
百吉饼,是的,肉桂葡萄干,201742856300年5月
百吉饼,是的,肉桂葡萄干,201742795100年3月
百吉饼,是的,肉桂葡萄干,201642675,20年11月
百吉饼,是的,蓝莓,201742767,50年2月
百吉饼,是的,蓝莓,201642675,30年11月
百吉饼,是的,蓝莓,201642430100年3月
百吉饼,是的,原味,2018431200年2月
百吉饼,是的,原味,201743070202年12月
Bdagel,是,平原,201743070202年12月
百吉饼,是的,原味,201642401201年2月;
变量数据=d3.csvParse(csv,函数(d){
d、 值=+d.值;
d、 年份=+d.year;
d、 dateCode=+d.dateCode;
返回d;
});
var breakfastCombinations=d3.nest()
.键(功能(d){
返回d.breakfastem;
})
.键(功能(d){
返回d.breakfastemtype;
})
.rollup(函数(最旧日期){
返回oldestDate.sort(函数(a,b){
返回b.dateCode-a.dateCode
})[0]。值
})
.条目(数据).映射(功能(组){
//父映射
返回{label:group.key,value:group.values};
})
console.log(早餐组合)