npm 包 fuzzy-search 使用教程

阅读时长 4 分钟读完

简介

fuzzy-search 是一个基于 JavaScript 的模糊搜索工具,它可以帮助我们在一堆文本中快速定位到我们想要的内容。使用 fuzzy-search 可以大大提高搜索的准确性和效率。

安装

我们可以通过 npm 来安装 fuzzy-search,命令如下:

使用

使用 fuzzy-search 很简单,只需要先创建一个实例对象,然后调用 search() 方法就可以了。下面是一个简单的示例代码:

-- -------------------- ---- -------
----- ----------- - ------------------------

----- ----- - -
  - ----- ------- ---- -- --
  - ----- ------- ---- -- --
  - ----- -------- ---- -- --
  - ----- ------- ---- -- -
--

----- -------- - --- ------------------ ----------

----- ------ - ---------------------- -- ------ ---- --

-------------------- -- -- ----- ------- ---- -- --

在上面的代码中,我们首先创建了一个包含若干对象的数组 items,每个对象都有一个 name 属性和一个 age 属性。然后我们使用 FuzzySearch 类来创建一个实例对象 searcher,将数组 items 和一个包含要搜索的属性名的数组 ['name'] 作为参数传入。

最后,我们调用 search() 方法来进行搜索。search() 方法接收一个字符串作为参数,表示要搜索的内容。在上面的示例中,我们搜索名字里包含 "jn" 的项,所以传入了字符串 "jn"

最后,将搜索结果打印出来,即可得到一个包含匹配项的数组。

进阶用法

除了基本的使用方法外,fuzzy-search 还提供了一些进阶功能,如自定义比较器、指定匹配度等级等。下面是一些常用的高级用法及说明:

自定义比较器

如果默认的比较器不能满足需求,我们可以通过自定义比较器来实现更复杂的匹配规则。自定义比较器需要返回一个数值,表示两个字符串的匹配度。匹配度越高,两个字符串的相似程度就越高。

-- -------------------- ---- -------
----- ----- - --------- --------- --------- --------
----- -------- - --- ------------------ --- -
  ---------- --- -- -- -
    ----- ------ - ---------------
    ----- ------ - ---------------
    ------ ------ --- ------ - - - ------- - ------ - -- - ---
  -
---

----- ------ - --------------------- -- ------ --- --

-------------------- -- ---------- -------- ------- ---------

在上面的代码中,我们使用自定义比较器来将字符串中包含字母 "e" 的项排在前面。具体实现方式是,先找到字符串中第一个字母 "e" 出现的位置,然后将位置靠前的字符串排在前面。

指定匹配度等级

我们可以通过 threshold 属性来指定匹配度等级,从而只返回匹配程度达到一定程度的结果。

在上面的代码中,我们将匹配度等级设置为 0.4,意味着只返回匹配程度大于等于 0.4

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/52110

纠错
反馈