Javascript dc.js函数中带有if语句的顶值不正确

Javascript dc.js函数中带有if语句的顶值不正确,javascript,d3.js,dc.js,crossfilter,Javascript,D3.js,Dc.js,Crossfilter,希望我没有误解dc.js中的维度创建是如何工作的,如果是这样的话,我会提前道歉 基于下面的JSFIDLE,当我创建维度并基于列的值排除某些行时,该行被排除。但是,当我在该维度上执行top()操作时,不仅会包含该值,还会导致不正确的排序 我希望dateDim_no1970可以保存6个项目(由控制台中的dateGroup_no1970输出确认),但是dateDim_no1970.top(1)[0]。realdate仍然返回一个不应该在6个项目中的值 (编辑:对不起,为了便于依赖,我从另一个提琴分叉,

希望我没有误解dc.js中的维度创建是如何工作的,如果是这样的话,我会提前道歉

基于下面的JSFIDLE,当我创建维度并基于列的值排除某些行时,该行被排除。但是,当我在该维度上执行top()操作时,不仅会包含该值,还会导致不正确的排序

我希望dateDim_no1970可以保存6个项目(由控制台中的dateGroup_no1970输出确认),但是
dateDim_no1970.top(1)[0]。realdate
仍然返回一个不应该在6个项目中的值

(编辑:对不起,为了便于依赖,我从另一个提琴分叉,但没有链接到我的提琴本身,链接现在是正确的)。

如何定义
dateDim_no1970
?维度上的筛选器适用于所有其他维度,但不适用于定义筛选器的维度。这就是你遇到的问题吗?@Larskothoff对不起,小提琴链接以前是错误的,我现在已经更新了…@EthanJewett,我想我实际上在这里使用了“过滤器”这个词不正确。在用于将数据返回到新维度的函数中,我使用if语句“过滤”出几行。希望这能澄清我在帖子中所说的过滤器。不过,谢谢你的建议!dc/d3/crossfilter仍然很新…这是你的问题。如果if语句为false,则函数不会返回任何内容,因此在该维度中会得到“undefined”(Javascript关键字)值。交叉筛选要求维度值自然可排序,而“未定义”则不是。您可能应该使用Crossfilter的dimension.filter函数来过滤掉不需要的记录。