Javascript 定义行中的Null/Empty与Zero/0

Javascript 定义行中的Null/Empty与Zero/0,javascript,html,csv,d3.js,Javascript,Html,Csv,D3.js,我有一个图表,它显示了几个堆叠的区域和线。我想把堆叠的区域停在一个点上,线从那里继续 我通过在我使用的CSV中保留空值,并将此行添加到每个行/区域变量中来实现这一点: .defined(function(d) {return d.prioFinishA;}) 这在一段时间内有效,但是有一个巨大的问题。这也会过滤0值。所以如果CSV中的某个地方有一个零点,它会把它当作一个缺失的值,并在那个点断开线/面积。考虑到我希望我的所有行都以0值结束,这是一个巨大的问题 我发现了一个小的解决方法,它使用:0

我有一个图表,它显示了几个堆叠的区域和线。我想把堆叠的区域停在一个点上,线从那里继续

我通过在我使用的CSV中保留空值,并将此行添加到每个行/区域变量中来实现这一点:

.defined(function(d) {return d.prioFinishA;})
这在一段时间内有效,但是有一个巨大的问题。这也会过滤0值。所以如果CSV中的某个地方有一个零点,它会把它当作一个缺失的值,并在那个点断开线/面积。考虑到我希望我的所有行都以0值结束,这是一个巨大的问题

我发现了一个小的解决方法,它使用:0.00001值而不是0,这非常接近,但是这是一个非常丑陋的“解决方案”


提前感谢您的帮助

这里的问题不是行生成器,而是行函数。让我们看看:

您正在使用行函数(我可以在删除的答案中看到)将字符串转换为数字,如下所示:

function type(d) {
  d.foo = +d.foo
  return d;
}
问题是,当您对空值执行此操作时,一元加号会将它们转换为零:


console.log(+“”)
试试d.prioFinishA!==“对不起,你的意思是什么?代替.defined行?@CAJ69I否,代替
返回d.prioFinishA
do
返回d.prioFinishA!==“”
。在JavaScript中,这些是错误的:
0
null
未定义的
false
NaN
。这就是为什么它也在过滤零。不幸的是,出于某种原因,这也不起作用。