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),非常关注字符串,而不是位置。