ホームページ >ウェブフロントエンド >jsチュートリアル >.map() の要素をスキップするにはどうすればよいですか?
JavaScript では、map() メソッドを使用するときに配列要素をスキップする必要がある場合があります。たとえば、配列の値が有限である場合にのみ、要素に対して数学的演算を実行した後、ある配列から別の配列に値をマッピングする必要があります。
この場合、ユーザーは次のメソッドを使用して、map() メソッドを使用するときに配列要素をスキップできます。
array.map() メソッドでは、if-else ステートメントを使用して要素をスキップできます。要素が if-else ステートメントの条件を満たす場合、マッピングのためにその要素を返す必要がありますが、そうでない場合は null 値を返すことができます。
###文法###上記の構文では、if-else ステートメントの条件が true と評価された場合は値を返し、それ以外の場合は null を返します。
例 1
出力では、null 値を返すと配列インデックスが空であることがわかります。
リーリーfilter() メソッドを map() メソッドと組み合わせて使用します
その後、filter() メソッドによって作成された配列で map メソッドを使用できるため、map() メソッド内の要素を間接的にスキップできます。
###文法###ユーザーは、次の構文に従って filter() メソッドを使用して、map() メソッド内の要素をスキップできます。
リーリー例 2
以下の例では、さまざまな文字列値を含む配列を作成しました。私たちの目標は、最初の文字が大文字であるすべての文字列を大文字に変換することです。そこで、まず、filter() メソッドを使用して、最初の文字が大文字であるすべての文字列をフィルターし、filteredValues 配列に格納します。
array.reduce() メソッドを使用する
map() メソッドは、要素を新しい配列にマップします。同じ目的を達成するために、reduce() メソッドを使用することもできます。 reduce() メソッドを使用して空の配列を取得し、要素を 1 つずつ配列にマップできます。
###文法###上記の構文では、特定の条件に基づいて要素を配列にプッシュします。それ以外の場合は、要素を配列にプッシュせずに配列を返し、要素をスキップします。
次の例では、2 で割り切れるすべての要素をそれ自体にマップすることが目標です。したがって、reduce() メソッドの最初のパラメータとしてコールバック関数を渡し、2 番目のパラメータとして空の配列を渡します。
コールバック関数では、条件が満たされた場合、要素を配列にプッシュし、配列を返します。それ以外の場合は、配列を変更せずに返します。
map() メソッドで要素をスキップする 3 つの方法を学びました。最初の方法では空の要素が格納され、より多くのスペースが必要になります。2 番目の方法では、filter() メソッドのみを使用するため、時間の計算量が増加します。 3 番目の方法は、空間と時間を最適化するため、最適です。
以上が.map() の要素をスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。