Javascript 交叉过滤器在阵列属性上的过滤和显示
我有一组数据对象,如下所示:Javascript 交叉过滤器在阵列属性上的过滤和显示,javascript,crossfilter,Javascript,Crossfilter,我有一组数据对象,如下所示: { index: "M1", first: "First", last: "Last", distance: 5, specialties: ["Pediatrics", "Internal"], languages: ["English", "French"] } 除按距离过滤外: var cf = crossfilter(physicians); var byDistance = cf.dimension(function (d) {
{
index: "M1",
first: "First",
last: "Last",
distance: 5,
specialties: ["Pediatrics", "Internal"],
languages: ["English", "French"]
}
除按距离过滤外:
var cf = crossfilter(physicians);
var byDistance = cf.dimension(function (d) {
return d.distance;
});
我想按专业过滤。我已经看过了,但这只是给了我一个结构,其中包含整个数据集的每个专业的计数
理想情况下,我希望基于距离过滤器显示匹配的专业,并使用专业进一步过滤结果
考虑到我的对象的结构,这可能吗?是否有更简单的方法来表示数据,以便更好地进行过滤
谢谢。这里有小提琴:已添加到crossfilter-1.2.0中。您现在应该能够执行以下操作:
var specialties = cf.dimension(function(d) {
return d.specialties;
});
specialties.filterFunction(function(d) {
return d.indexOf("specialty") >= 0;
});
或者,您可以为每个可能的专业制作尺寸标注:
var pediatrics = cf.dimension(function(d) {
return d.specialties.indexOf("pediatrics") >= 0;
});
var internal = cf.dimension(function(d) {
return d.specialties.indexOf("internal") >= 0;
});
并在这些上运行过滤器(但这仅支持和条件)。感谢您的回复。我太忙了,没时间尝试这个,但我会在周末尽我最大的努力来测试它。