ファジー クエリの場合、通常、キーワードはバックエンドに渡され、バックエンドがそれを実行します。ただし、一部の軽量リスト フロントエンドによって、Ajax リクエストが削減され、ユーザー エクスペリエンスがある程度向上する場合があります。早速、コードに進みましょう。
//字符串方法indexOf var len = list.length; var arr = []; for(var i=0;i<len;i++){ //如果字符串中不包含目标字符会返回-1 if(list[i].indexOf(keyWord)>=0){ arr.push(list[i]); } } return arr;
//正则表达式 var len = list.length; var arr = []; var reg = new RegExp(keyWord); for(var i=0;i<len;i++){ //如果字符串中不包含目标字符会返回-1 if(list[i].match(reg)){ arr.push(list[i]); } } return arr;
まず第一に、ファジークエリとは何かを理解する必要があります(ナンセンスが再び出てきます)。これは、キーワードに基づいてリスト内のキーワードをリストすることです(もちろん、ここでは最も単純なものだけを実行します)。つまり、リスト内の各項目にキーワードが含まれているかどうかを確認するため、抽象的には文字列に特定の文字または文字列が含まれているかどうかを意味します。
アイデアができたら、次のステップはそれを実装することです。js の基本的なデータ型を学ぶと、String には string.indexOf メソッドがあることがわかります。 (''); このメソッドは文字列内の特定の文字の位置を調べるもので、対象の文字が存在しない場合は -1 が返されます。したがって、このメソッドを使用して、リスト内の各項目にキーワードが含まれているかどうかを確認できます。次に、非常に強力な RegExp です。これは、文字列のターゲット文字と一致するための正規表現です。一致しない場合は、空を返します。ここには記載されません。
関連する推奨事項:
以上がフロントエンドファジークエリのjs実装を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。