次のようなオブジェクトの膨大な (1000 以上) リストがあるとします。
[{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
このリストを名前で(文字ごとに)フィルタリングしたい。
filter('j') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
filter('jo') => [{name: 'john dow', age: 38, gender:'m'}, ..]
filter('dow') => [{name: 'john dow', age: 38, gender:'m'}, {name: 'jane dow', age: 18, gender:'f'}, ..]
それを行うための最高のパフォーマンスの方法は何ですか? RegEx は明らかにキーの 1 つです。ユーザーが通常最初から名前を開始する傾向があると想定する場合は、事前にリストを並べ替えるのも良い考えかもしれませんが、それが役立つのは場合によってだけです。
フィルターをマッピングするための JavaScript 組み込み関数はありますか? それらは JavaScript の実装よりも高速であると期待しています。
PS: はい、「オフライン機能」を提供したいので、クライアント側でフィルタリングしたいと思います。