npm 包 fuse-checkmark 使用教程

阅读时长 5 分钟读完

介绍

fuse-checkmark 是一个基于 Fuse.js 的中英文字符模糊匹配工具,适用于前端和 Node.js 环境。使用 Fuse.js 的模糊匹配算法,快速找到最相似的字符串,且中英文字符均有支持。该工具封装了一些常用的模糊匹配设置,并提供了一些使用的便捷方式。

安装

你可以通过使用 npm 包管理器安装 fuse-checkmark:

使用

以下是 fuse-checkmark 的使用方式:

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

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

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

运行结果是:

在以上代码中,我们通过引入了 fuse-checkmark 模块,然后将需要匹配的列表和待匹配的字符串传递给 fuseCheckmark 函数。可以通过第三个参数指定进行匹配的属性名(name),返回的结果是一个数组,包含了与待匹配字符串最相似的对象。

API

fuseCheckmark(list, query, key)

  • list:需要匹配的列表,数组类型,每个元素是一个对象。
  • query:待匹配的字符串。
  • key:指定进行匹配的属性名,可选项,默认为 name

返回与待匹配字符串最相似的元素数组。

fuseCheckmarkList(list, query, options)

  • list:需要匹配的列表,数组类型,每个元素是一个对象。
  • query:待匹配的字符串。
  • options:可选项对象,可包含以下属性:
    • keys:指定进行匹配的属性集合,数组类型,默认为 ['name']
    • minMatchCharLength:指定最小匹配到字符长度,整数类型,默认为 1
    • threshold:指定匹配阈值,浮点数类型,范围在 0~`1,默认为 0.6`。
    • limit:指定匹配结果数的限制,整数类型,默认为 10

返回与待匹配字符串最相似的结果数组。

示例

以下是一个使用较为详细的示例:

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

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

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

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

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

运行结果是:

以上代码中,我们先定义了一个列表数组,然后使用 fuseCheckmarkList 函数进行不同的匹配操作。在第一个例子中,我们通过指定匹配的属性为 name,设置了最小匹配字符长度为 2,阈值为 0.3,限制了最多匹配 3 条结果,匹配结果返回了与待匹配字符串最相似的结果。在第二个例子中,我们使用了一个更加复杂的字符串,并且指定了四种匹配属性,设置的阈值比第一个例子要高一些,返回的结果中包含了 Asus Zenbook Pro 14 笔记本电脑。在第三个例子中,我们设置的待匹配字符串为一个数字,限制了最小匹配到 4 个字符,阈值为 0.5,由于列表中没有匹配到结果,返回了一个空数组。

结论

fuse-checkmark 是一个非常适用于前端和 Node.js 环境的模糊匹配工具,可用于很多不同的场景。本文介绍了它的安装、使用方法和 API,通过示例代码详细演示了不同的配置和匹配方式。我们可以根据具体的需求来定制化自己的匹配算法,提高了匹配的准确性和效率。

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

纠错
反馈