当前位置: 首页 > 知识库问答 >
问题:

Searchkit范围筛选器数据的最小值和最大值

濮宇定
2023-03-14

我在让范围过滤器更具动态性方面遇到了问题。

过滤代码

  <RangeFilter
    title="Prijs"
    field="verkoopprijs"
    id="verkoopprijs"
    min={0}
    max={100}
    showHistogram = {false}
    rangeComponent = {RangeSliderInput}
    translations={{"range.submit":"Zoeken"}}
  />

而不是硬编码的最小值0和最大值100,我想得到字段verkoopprijs的最小值和最大值。

搜索结果如下所示:

 "hits":{  
          "total":7271,
          "max_score":1.0,
          "hits":[  
             {  
                "_index":"onixts_prod",
                "_id":"9783932346729",
                "_score":1.0,
                "_source":{  
                   "id":"9783932346729",
                   "jaar":"2015",
                   "taal":"Duits",
                   "hoofdtitel":"Therapie-Handbuch Power Tube, Power QuickZap",
                   "verkoopprijs":38.95,
                }
             }
        ]
    }

然而我不知道如何得到最小值和最大值。

共有1个答案

壤驷深
2023-03-14

根据您的搜索结果位于名为data变量中的事实,要获取verkoopprijs字段的最小值和最大值,您可以:

const min = data.hits.hits.reduce((min, curr) => curr.verkoopprijs < min.verkoopprijs ? curr : min, data.hits.hits[0]);
const max = data.hits.hits.reduce((max, curr) => curr.verkoopprijs > max.verkoopprijs ? curr : max, data.hits.hits[0]);

然后,将其用作组件中的最小值和最大值,如

<RangeFilter
    title="Prijs"
    field="verkoopprijs"
    id="verkoopprijs"
    min={min}
    max={max}
    showHistogram = {false}
    rangeComponent = {RangeSliderInput}
    translations={{"range.submit":"Zoeken"}}
/>
 类似资料:
  • 鉴于这些文件: 如何才能用它们的最小总价值来过滤它们的价格范围? 现在我的查询如下所示: 所以它从逻辑上返回文档1和2,因为它们的价格都在这个范围内,但我只想得到文档2,因为我希望过滤器逻辑只应用于最低价格。

  • 我一直在寻找这个问题的答案,但运气不佳,所以希望有人能帮助我! 我正在处理周期性数据,我试图找到两个波峰和两个波谷的相关值——这不一定等同于最大/最小和第二个最大/最小值,而是最大/最小和第二个最大/最小值,条件是该值大于/小于前面和后面的值。 这是一个循环的例子 我有 1000 个周期,所以我在 dplyr 中使用group_by对周期进行分组,然后希望在组中应用条件最大值/最小值参数。 我很感

  • 问题内容: 最近在一次采访中有人问我这个问题。 给定以下代码,静态整数的最小和最大可能值是多少? 我告诉他们,最大值将为25(在没有竞争条件的情况下),而最小值将为5(在每次迭代时所有线程之间的竞争条件的情况下)。 但是面试官说,最小值甚至可以低于5。这 怎么可能? 问题答案: 我声称最小值可能是2。 这样做的关键是的非原子性,即它是读和写,它们之间可能有其他操作。 调用线程T1..T5: T1读

  • 给定max number和range number,我希望打印出以下内容,但尽可能简短。我不知道这是否可以通过IntStream实现。 输入:max=36(或任意数)范围=10(或任意数) 输出:0-910-1920-2930-35 我的代码:

  • 问题内容: 我正在寻找python中整数的最小值和最大值。例如,在Java中,我们有和。python中是否有类似的东西? 问题答案: Python 3 在Python 3中,此问题不适用。普通int类型是无界的。 但是,你实际上可能正在寻找有关当前解释器的字长的信息,在大多数情况下,该信息将与机器的字长相同。该信息在Python 3中仍以形式提供,这是一个有符号的单词可以表示的最大值。等效地,它是

  • 主要内容:普通算法,分治算法程序中,我们经常使用数组(列表)存储给定的线性序列(例如 {1,2,3,4}),那么如何查找数组(序列)中的最大值或者最小值呢? 查找数组(序列)中最大值或最小值的算法有很多,接下来我们以 {3,7,2,1} 序列为例讲解两种查找最值的算法,一种是普通算法,另一种是借助 分治算法解决。 普通算法 普通算法的解决思路是:创建两个变量 max 和 min 分别记录数组中的最大值和最小值,它们的初始值都