Javascript 什么算法可以执行字符串模式搜索?
在前端有一个由字符串组成的游戏标题列表: id、游戏名称、日期、价格 搜索应接受多个关键字,例如,用户可能键入:Javascript 什么算法可以执行字符串模式搜索?,javascript,full-text-search,Javascript,Full Text Search,在前端有一个由字符串组成的游戏标题列表: id、游戏名称、日期、价格 搜索应接受多个关键字,例如,用户可能键入:1998 Streetfighter 2或Streetfighter 1998当前我创建了一个由空格分隔的数组,该数组创建了3个关键字:[1998,Streetfighter,2],然后我通过游戏标题集筛选匹配项。不幸的是,它还返回了任何包含“2”的标题,因为没有模式识别来识别“街霸2”是否属于同一个标题。是否有一个简单的算法来提供模式搜索 const allGames = [ "St
1998 Streetfighter 2
或Streetfighter 1998
当前我创建了一个由空格分隔的数组,该数组创建了3个关键字:[1998,Streetfighter,2]
,然后我通过游戏标题集筛选匹配项。不幸的是,它还返回了任何包含“2”的标题,因为没有模式识别来识别“街霸2”是否属于同一个标题。是否有一个简单的算法来提供模式搜索
const allGames = [
"Streetfighter 1, 1992, 20",
"Streetfighter 2, 1998, 20",
"pokemon, 2016, 20",
"Diablo 3, 2015, 40",
"Super mario, 1995, 20",
"The Witcher, 2012, 20",
]
您的搜索查询看起来足够高级,足以证明使用搜索引擎是正确的。只是不要自己创造一个(这比你想象的要难) 在这个答案中,我将使用 这里有一个2分钟的速成班:
allGames
array。)标题
)请注意,Super Mario是在1985年发布的,而不是1995年发布的
,因为没有识别“Streetfighter 2”属于一起的模式识别那么你是说你只想匹配整个字符串,而不是它的一部分吗?使用对象数组,这样你就可以遍历特定的键,匹配或筛选。类似于const allGames=[{name:“Streetfighter 2”,releaseDate:“20-12-1992”}]对于发布日期,我建议使用date对象,这样,如果您有数千个游戏,您可以使用唯一的发布日期或名称筛选一个。非常感谢。我仍然不知道如何使用lunar for react js创建索引。你知道吗?