gpt4 book ai didi

javascript - pie() 不接受对象数组

转载 作者:搜寻专家 更新时间:2023-10-30 21:07:50 25 4
gpt4 key购买 nike

我有以下代码:

public data = [
{
value: 61,
color: 'orange',
},
{
value: 29,
color: 'white',
},
{
value: 10,
color: 'blue',
},
];
  public pie = d3
.pie()
.padAngle(0)
.value((d: any) => d.value);
const arcs = this.pie(this.data);

这基本上是一些关于使用 d3js 构建圆环图的教程的结果。

现在我想为数据数组中的项目添加自定义接口(interface),并在 .value() 函数中正确键入 d 参数。

问题是,@types/d3 包将预期的数据数组定义为 number[] 并将 d 参数定义为 编号

这意味着我不能为数据项使用自定义界面。在这种情况下,D3 的打字包似乎是错误的,因为我读过的所有教程都是这样做的,而且代码工作得很好。

在这种情况下我有什么选择?有什么解决方法吗?我可以覆盖妨碍我的输入吗?

最佳答案

d3pie 为此接受一个泛型。

解决方法如下:

interface IData {
value: number;
color: string;
}

const data: IData[] = [
{
value: 61,
color: 'orange',
},
{
value: 29,
color: 'white',
},
{
value: 10,
color: 'blue',
},
];

const pie = d3
.pie<IData>()
.padAngle(0)
.value(d => d.value);

const arcs = pie(data);

关于javascript - pie() 不接受对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55022691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com