gpt4 book ai didi

javascript - 在交叉过滤器数组维度上进行 AND 过滤

转载 作者:行者123 更新时间:2023-12-02 14:12:47 27 4
gpt4 key购买 nike

我正在使用new array dimensions in Crossfilter我在尝试创建一个仅选择包含多个数组值的行的过滤器时遇到了麻烦。使用自定义过滤器函数创建一个选择数组值的并集的过滤器非常容易:

var ndx = crossfilter([
{arrayVals: [1, 2]},
{arrayVals: [2, 3]},
{arrayVals: [1, 2, 3]}
]);
var arrayDim = ndx.dimension(function(d) {return d.arrayVals;}, true);
arrayDim.filter(function(d) {return d == 1 || d == 3;}).top(Infinity);

但是我真的很想过滤多个条件的交集(例如d == 1 && d == 3)。我知道我可以通过为每个我想要 && 在一起的条件设置一个单独的维度来实现这一点,但这似乎非常浪费。有没有一种方法可以做到这一点而不必求助于多个维度?

最佳答案

不知道为什么这被否决了。据我所知,目前的答案基本上是“不”。但是,您不需要为每个条件创建一个新维度 - 只需创建一个不属于数组类型的维度即可。像这样的东西:

var arrayDim2 = ndx.dimension(function(d) {return d.arrayVals;});
arrayDim2.filter(function(d) { return d.indexOf(1) !== -1 && d.indexOf(3) !== -1;});
arrayDim2.top(Infinity);

然后继续向您的过滤函数添加新的条件。

关于javascript - 在交叉过滤器数组维度上进行 AND 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39360157/

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