0
Underscore
を使用してフルテキスト検索を行う文字列の配列をどのようにフィルタリングしますか?Underscore.jsを使用して大文字と小文字を区別しない配列フィルタリング
文字列内の任意の数の文字にマッチするフィルタを意味します。
この関数はオートコンプリート機能に役立ちます。 たとえば、完全な名前の配列で、ミドルネームまたはラストネームを検索します。
Underscore
を使用してフルテキスト検索を行う文字列の配列をどのようにフィルタリングしますか?Underscore.jsを使用して大文字と小文字を区別しない配列フィルタリング
文字列内の任意の数の文字にマッチするフィルタを意味します。
この関数はオートコンプリート機能に役立ちます。 たとえば、完全な名前の配列で、ミドルネームまたはラストネームを検索します。
最初に、like
アンダースコアmixin
を作成します。この関数は、正規表現を使って文字列を比較します(正規表現の特殊文字をエスケープする必要があります)。
_.mixin({
like: function(text, likeExpr) {
var regex = new RegExp(text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'), 'i');
return regex.test(likeExpr);
}
});
次のようにこれを使用することができます。
_.like('whatever', 'Something something WhaTEvEr something.'); // true
その後、あなたは配列をフィルタリングするために、この機能を使用することができますが:
_.filter(array, function(text) {
return _.like('string to match', text);
});
おかげで、@Alvaroは、あなたが本当にアップ投票に値します。 – CrazyGeek