gpt4 book ai didi

javascript - 如何设置 fuse.js 选项

转载 作者:行者123 更新时间:2023-11-29 23:17:52 28 4
gpt4 key购买 nike

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"
}
]


function foo (str) {
const options = {
keys: ['name'],
threshold: 0,
location: 0,
distance: 100,
minMatchCharLength: str.length
}
const _fuse = new Fuse(JSON, options)
console.log(_fuse.search(str))
}

foo('03')
<script src="https://cdnjs.cloudflare.com/ajax/libs/fuse.js/3.2.1/fuse.min.js"></script>

我正在尝试使用 fuse.js 进行过滤。我不确定如何使用这些选项。如果我使用 03 进行搜索,我不会返回任何结果。我试过改变位置和阈值但没有完全理解它。我将 minMatchCharLength 设置为查询字符串的长度,认为这样可以防止 01 的查询返回仅包含 0 的项。对吗?

最佳答案

您的代码已经很好了。您将阈值设置为 0,这意味着

fuse requires a perfct match (of both letters and location)

并且没有 name 属性正好是 03

因此,如果您只是摆弄阈值并将其设置为 0.2,例如 - 您将从搜索中获得一些结果:

[{name: "02,03"}, {name: "01,03"}]

关于javascript - 如何设置 fuse.js 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52061588/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com