Javascript 如何设置fuse.js选项
Javascript 如何设置fuse.js选项,javascript,fuzzy-search,fuse.js,Javascript,Fuzzy Search,Fuse.js,const JSON=[ { “名称”:“01,02” }, { “名称”:“01” }, { “名称”:“05” }, { “名称”:“06,09” }, { “名称”:“04,05” }, { “名称”:“02,03” }, { “名称”:“02,04,05” }, { “名称”:“01,02” }, { “名称”:“01,03” } ] 函数foo(str){ 常量选项={ 键:['name'], 阈值:0, 地点:0, 距离:100, minMatchCharLength:str.len
const JSON=[
{
“名称”:“01,02”
},
{
“名称”:“01”
},
{
“名称”:“05”
},
{
“名称”:“06,09”
},
{
“名称”:“04,05”
},
{
“名称”:“02,03”
},
{
“名称”:“02,04,05”
},
{
“名称”:“01,02”
},
{
“名称”:“01,03”
}
]
函数foo(str){
常量选项={
键:['name'],
阈值:0,
地点:0,
距离:100,
minMatchCharLength:str.length
}
const_fuse=新的fuse(JSON,选项)
console.log(_fuse.search(str))
}
foo('03')
尝试将名称更改为名称:
const JSON = [
{
name: "01,02"
},
{
name: "01"
},
{
name: "05"
},
{
name: "06,09"
},
{
name: "04,05"
},
{
name: "02,03"
},
{
name: "02,04,05"
},
{
name: "01,02"
},
{
name: "01,03"
}
];
在这里,您可以找到一个演示,允许您“播放”配置。
您可以粘贴json并尝试获得不同的结果:
有关配置的更多信息,请参阅上一链接的步骤2,其中解释了所有选项。
例如:阈值:匹配算法在什么时候放弃。阈值为0.0需要完全匹配(字母和位置),阈值为1.0将匹配任何内容
下面是一个示例演示:您的代码已经很好了。
您将阈值设置为0
,这意味着
fuse requires a perfct match (of both letters and location)
而且没有确切的03
属性的name
因此,如果您只是摆弄阈值,并将其设置为0.2
,例如,您将从搜索中获得一些结果:
[{name: "02,03"}, {name: "01,03"}]
尝试将“name”
更改为name
,同时尝试阅读每个选项下的各种说明。您还可以在演示中尝试粘贴json并尝试“播放”阈值:匹配算法在什么时候放弃。阈值为0.0需要完全匹配(字母和位置),阈值为1.0可以匹配任何内容。例如:@Leo你能回答吗?此外,如果您不关心字符串位置,可以将距离设置为一个很高的数字(99999999)。这将允许您有一个较低的阈值(0.01),非常关注字符串,而不是位置。