Select2 で Sublime のようなあいまい検索を実装するにはどうすればよいですか?
たとえば、「sta jav sub」と入力すると、「Stackoverflow javascript sublime like」に一致します。
ベストアンサー1
代替マッチング関数を次に示します。http://jsfiddle.net/trevordixon/pXzj3/4/
function match(search, text) {
search = search.toUpperCase();
text = text.toUpperCase();
var j = -1; // remembers position of last found character
// consider each search character one at a time
for (var i = 0; i < search.length; i++) {
var l = search[i];
if (l == ' ') continue; // ignore spaces
j = text.indexOf(l, j+1); // search for character & update position
if (j == -1) return false; // if it's not found, exclude this item
}
return true;
}
こちらのほうが速いです(このテストChrome では、これは多くのアイテムをフィルタリングする場合に問題になる可能性があります。