2013-11-22 165 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

回答