Varity 是一个基于 JavaScript 编写的 NPM 包,它可以用来提供元素内容的模糊匹配。在前端开发中,我们经常需要对用户的输入进行校验或者查询,而这种校验或查询的方式通常需要实现模糊匹配。Varity 就是为这种场景而设计的。
安装 Varity
使用 npm 安装 Varity:
npm install varity
使用 Varity
初始化 Varity
在使用 Varity 之前,我们需要先进行初始化。我们可以在 JavaScript 中使用 new
关键字来创建 Varity 实例,通常我们创建的时候需要传入一个用于匹配的字符串数组:
var Varity = require('varity'); var keywords = ['Hello', 'World', 'JavaScript', 'Node.js']; var varity = new Varity(keywords);
这里我们通过 require('varity')
的方式导入了 Varity 包。然后创建了一个 keywords
数组,其中包含了一些常见的元素内容。最后我们用 new Varity(keywords)
的方式创建了一个 Varity 实例。
模糊匹配
在创建了 Varity 实例之后,我们就可以使用 varity.match()
方法来进行模糊匹配了。这个方法接受一个用于匹配的字符串作为参数。比如,我们可以像下面这样使用 Varity 进行匹配:
var keyword = 'he'; var matches = varity.match(keyword); console.log(matches);
这里我们用 var keyword = 'he'
定义了一个用于匹配的字符串。然后使用 varity.match(keyword)
方法进行匹配,得到了匹配的结果。最后我们可以使用 console.log(matches)
打印出匹配结果。
匹配结果
varity.match()
方法返回的是一个包含匹配信息的对象数组。每个对象包含了 keyword
,score
,query
三个属性:
keyword
:匹配的元素内容。score
:匹配度,值为 0 到 1 之间的一个小数,0 表示完全不匹配,1 表示完全匹配。query
:用于匹配的字符串。
我们可以将匹配结果进行排序,让哪些匹配度高的结果排在前面,可以这样实现:
-- -------------------- ---- ------- --- ------------- - ------------------------ -- - -- -------- - -------- - ------ -- - ---- -- -------- - -------- - ------ --- - ---- - ------ -- - --- ---------------------------
这个示例中,我们使用 Array.prototype.sort()
方法将匹配结果按照 score
属性进行排序。得到了匹配度高的结果排在前面的一个数组。最后我们打印出了排序后的结果。
总结
在本文中,我们学习了如何使用 Varity 进行模糊匹配。首先我们需要通过 new Varity(keywords)
的方式创建一个 Varity 实例,其中 keywords
是一个用于匹配的字符串数组。然后我们可以通过 varity.match(keyword)
方法来进行匹配,得到一个包含匹配信息的对象数组。最后我们可以将匹配结果进行排序,让匹配度高的结果排在前面。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67303