1. プロジェクトの見通し実際の開発では Vue や React がますます広く使用されるようになり、フロントエンドで処理されるデータはますます多くなっています。この記事の主な目的は、サーバーから返されたデータを処理し、条件に応じてファジークエリを実行して、サーバーに送信されるリクエストの数を減らし、パフォーマンスとユーザーエクスペリエンスを向上させることです。以下は、ファジークエリ機能を実装する簡単なデモです。 テストデータは次のとおりです。 varデータ = [{ "title": "失恋から立ち直るのにどれくらい時間がかかりますか?", "タイトル画像": "https://img.doutuimao.net/dtmimg/b7c9ec393414982682e5a477eb995b55", "desc": "食品と飲料が失恋から立ち直るのにどれくらい時間がかかるかをテスト", "id": "2", 「番号」: 951357, "フラグ": "01" }, { "title": "あなたのコケティッシュ指数はどれくらいですか?", "タイトル画像": "https://img.doutuimao.net/dtmimg/60d8ed86d1f72357c194506270c72ac1", "desc": "コケティッシュな振る舞いができる女性は最も幸運です。コケティッシュな振る舞いが上手ですか? コケティッシュな振る舞いをするとき、あなたはどれくらい魅力的ですか? ぜひテストを受けてください!", "id": "3", 「番号」: 963258, "フラグ": "01" }, { "title": "将来どのように結婚しますか?" "タイトル画像": "https://img.doutuimao.net/dtmimg/538632e75159ce8e586778d289c66a11", "desc": "多くの人が将来の結婚式の方法を楽しみにしていると思います。将来どのように結婚するか知りたいですか?", "id": "4", 「番号」: 879564, "フラグ": "01" }, ] 2. 知識ポイントObject.assign() の使用法Object.assign メソッドは、ソース オブジェクト (source) のすべての列挙可能なプロパティをターゲット オブジェクト (target) にコピーするために使用されます。パラメータとして少なくとも 2 つのオブジェクトが必要です。最初のパラメータはターゲット オブジェクトであり、後続のパラメータはすべてソース オブジェクトです。 // 元の配列を処理する let arrnew = data.map((item, index) => { オブジェクトを返します。代入({}, { 'desc': アイテム.desc、 }) }) filter() メソッドfilter() メソッドは配列要素をフィルタリングするために使用されます。このメソッドは、指定された関数によって実装されたテストに合格したすべての要素を含む新しい配列を作成します。 filter() は空の配列を検出せず、元の配列を変更しません。 indexOf() ファジークエリindexOf() メソッドは、文字列内で指定された文字列値が最初に出現する位置を返します。取得する文字列値が表示されない場合、メソッドは -1 を返します。 filter() メソッドと組み合わせることで、配列に入力値が含まれているかどうかを検出し、それを返すことができます。 var newData = arrnew.filter(item => { if (item.desc.indexOf(value) > -1) { //indexOfメソッドで、xxx.indexOf("")が0の値を返す場合 返品商品 } 新しいデータを返す }) 完全な DEMO コードは次のとおりです。<div class="wrap"> <input type="text" id="デモ"> <ul id="ニュースボックス"> </ul> </div> 関数create() { var 値 = 入力値; var html = ""; arrnew = data.map((item, index) => { とします。 オブジェクトを返します。代入({}, { 'desc': アイテム.desc、 }) }) var newData = arrnew.filter(item => { if (item.desc.indexOf(value) > -1) { //indexOfメソッドで、xxx.indexOf("")が0の値を返す場合 返品商品 } 新しいデータを返す }) (newData.length > 0) の場合 { (var i = 0; i < newData.length; i++) { html += `<li>${newData[i].desc}</li>` } } それ以外 { html += `<li>データなし</li>` } ul.innerHTML = html; } 作成() input.onchange = 関数(e) { 作成() } 要約するJavaScript でローカル ファジー検索機能を実装する方法についての記事はこれで終わりです。より関連性の高い JS ローカル ファジー検索コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
目次序文1. 効果は図の通りです2. 具体的な実施手順1. Vuexの紹介2.webscoked実装...
最終的な解決策は最後の写真にありますリモート データベース ( Linux システム) に接続したと...
WEB アプリケーションのページでは、テーブルがよく使用されます。列の数が限られているため、各列のコ...
本体の幅をウィンドウの幅に設定します(次のスクリプトで制御されます) $("body&qu...
バックグラウンド管理プロジェクトを行う際には、リッチテキストエディタがよく使用されます。ここでは、非...
データとコンピューターに対してできる最善のことは、それらを安全に保つことです。アップデートを有効にす...
なぜこの領域のコンテンツを整理したいのでしょうか。それは、油絵の具とキャンバスを理解する必要があり、...
目次1. 概要1.1 プロトタイプとは何ですか? 1.2 プロトタイプを入手する2. プロトタイプの...
プロジェクト中、プログレスバーを実装するために js の requestAnimationFrame...
具体的な方法: 1. [ win+r ] を押して実行ウィンドウを開き、「regedit」と入力して...
回転フリップ効果の CSS アニメーション、具体的な内容は次のとおりです。 1. まず2つのボックス...
int(1) の長さ 1 は、許可されたストレージ幅を表していないことはすでにご存知かもしれません...
背景位置が背景画像の表示に与える影響この2日間のプロジェクトでホームページの写真を入れ替えていたとこ...
目次質問1件2つの方法3 実験結果と考察質問1件ご存知のとおり、 Pycharm 、 IDLE 、 ...
1. MySQL Community Server 5.6.35をダウンロードするダウンロードアドレ...