序文JavaScript の ES6 には多くの配列メソッドがあり、それぞれに独自の用途と利点があります。 アプリケーションを開発する際には、ほとんどの場合、配列メソッドを使用して特定の値のリストを取得し、一致する単一または複数の項目を取得します。 これら 2 つの方法の違いを列挙する前に、これらの方法を 1 つずつ理解していきましょう。 JavaScript find() メソッドES6 の find() メソッドは、テスト関数に合格した最初の要素の値を返します。テスト関数を満たす値がない場合、 undefined が返されます。 文法 次の構文で使用される矢印関数。 find((要素) => { /* ... */ } ) find((要素, インデックス) => { /* ... */ } ) find((要素、インデックス、配列) => { /* ... */ } ) 以下に示すように、name、age、id のプロパティを持つユーザー オブジェクトのリストがあります。 ユーザーに = [{ id:1, 名前: 'ジョン'、 年齢: 22 }, { id:2, 名前: 'トム'、 年齢: 22 }, { id:3, 名前: 'バラジ'、 年齢: 24 }]; 次のコードでは、find() メソッドを使用して、年齢が 23 を超える最初のユーザーを検索します。 console.log(users.find(user => user.age > 23)); //コンソール //{ id: 3、名前: 'Balaji'、年齢: 24} 年齢が22歳の最初のユーザーを見つけたい console.log(users.find(user => user.age === 22)); //コンソール //{ id: 1、名前: 'ジョン'、年齢: 22} 一致するものが見つからないと仮定すると、undefinedが返されます。 console.log(users.find(user => user.age === 25)); //コンソール //未定義 JavaScript filter() メソッドfilter() メソッドは、テスト関数に合格したすべての要素を含む新しい配列を作成します。テスト関数を満たす要素がない場合は、空の配列が返されます。 文法 フィルター((要素) => { /* ... */ } ) フィルター((要素, インデックス) => { /* ... */ } ) フィルター((要素, インデックス, 配列) => { /* ... */ } ) フィルターの例と同じユーザー配列とテスト関数を使用します。 次のコードでは、filter() メソッドを使用して、年齢が 23 を超える最初のユーザーを検索します。 console.log(users.filter(user => user.age > 23)); //コンソール ここで、年齢が22歳のユーザーをフィルタリングします //[{ id: 3, name: 'Balaji', age:24}] 22歳のユーザーをフィルタリングしたい console.log(users.filter(user => user.age === 22)); //コンソール //[{ id: 1, 名前: 'ジョン', 年齢:22},{ id: 2, 名前: 'トム', 年齢:22}] 一致するものが見つからないと仮定すると、空の配列が返されます。 console.log(users.filter(user => user.age === 25)); //コンソール //[] find() と filter() の相違点と類似点共通点 高階関数: これらの関数は両方とも高階関数です。 違い 1. テスト関数を渡す find() は最初の要素を返します。 filter() は、テスト関数に合格したすべての要素を含む新しい配列を返します。 2. テスト関数を満たす値がない場合 find() は undefined を返します。 filter() は空の配列を返します。 コードに直接arr = [とする { 名前: 'リック', 年齢: 60 }, { 名前: 'リック', 年齢: 70 }, { 名前: 'モーティ', 年齢: 14 } ] findResult = arr.find(i => i.name === 'Rick') とします。 filterResult = arr.filter(i => i.name === 'Rick') とします。 コンソールにログ出力します。 /* 出力結果[ { 名前: 「リック」 年齢: 60 }, { 名前: 「リック」 年齢: 70 }, { 名前:「モーティ」 年齢: 14 } ] */ console.log(findResult); // {名前: "Rick", 年齢: 60} console.log(filterResult); // [{name: "Rick", age: 60}, {name: "Rick", age: 70}] 上記のコードの出力によると、find も filter も元の配列を変更しないことがわかります。 要約するこれで、JavaScript の find() メソッドと filter() メソッドの違いに関するこの記事は終了です。js の find() メソッドと filter() メソッドの違いの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 高速でクールな揺れアニメーション効果を実現するCSS
>>: DockerにMinIOをインストールするための詳細な手順
序文MySQL の rowid の概念については聞いたことがあるかもしれませんが、テストや実践が難し...
目次vue - スワイパープラグインを使用してカルーセルを実装するカルーセルのバグを解決するには、w...
目次背景提供/注入共有状態の抽出データを提供するデータの挿入まとめ反応的な共有状態の抽出共有状態の使...
ログイン dockerログインdocker login コマンドを実行し、ユーザー名、パスワード、メ...
目次1. 環境の紹介2. MySQL-8.0.19をインストールする3. MySQLを設定する1. ...
目次導入1. 事例の概要2. 環境の展開3. Nginxホストのインストール4. Tomcatのイン...
1. nginx.conf の http{} に次のコードを追加します。 limit_conn_zo...
サーバーの構築には node.js を選択しました。まだインストールしていない方は、私の他の nod...
目次FastDFSについて1. 画像を検索する2. イメージをインストールする3.1. 必要なディレ...
1. sql_modeを確認する @@sql_mode を選択照会された値は次のとおりです。 ON...
目次ユーザー管理新しいユーザーを作成するユーザー名の変更ユーザーのパスワードを設定するルートパスワー...
目次Vuex は単一の状態ツリーを使用するため、すべてのアプリケーション状態が比較的大きなオブジェク...
目次PXEはサーバーの無人バッチ展開を実装します1. PXEの概要1.1 PXEとは何か1.2 キッ...
<br />製品設計プロセス全体において、ビジュアルデザインとインタラクションデザインの...
目次uni-app の紹介HTML部分js部分インスタンスを作成する録音を開始録音終了録音を再生再生...