2013-11-22 113 views
0

我有一个数组,其中包含一些要在jQuery数据表中显示的搜索结果。我需要根据搜索词对我得到的行进行排序。我的意思是,搜索词最匹配的行应该显示在搜索结果的顶部。例如,如果我的搜索字词是'Hello World',我的数据如下。Jquery按照搜索项的相关性对JSON数组排序

Hello 560 World 
Hello Business World Guy 
World of Hello 
Hello World 
100 Hello World's 
World Hello Business 

排序后,我需要得到有点像

Hello World  
100 Hello World's 
Hello 560 World 
Hello Business World Guy 
World of Hello 
World Hello Business 

是否有任何的JavaScript/jQuery的功能做到这一点的阵列?我只需要在开始时使用匹配最多的行重新排列数组。

+0

即使你得到的数据,JSON,只要你解析它,你用一个正常的JavaScript数组工作。所以你的问题与JSON无关,我会相应地编辑它。对于你的实际问题,看看'Array#sort':https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort。那么你必须弄清楚如何确定哪些行匹配“最”。 –

+0

这里有一个模糊搜索库,可能有助于http://kiro.me/projects/fuse.html – charlietfl

回答