JavaScript配列のメソッド


配列。プロトタイプ。filter ()


私は再びもう一つの有用で非常に一般的なJavaScript(JS)配列メソッドについて書きます.フィルタリングする.配列に格納されている情報がある場合、特定の条件を満たす特定の項目を選択します(または除外する)..filter() あなたの友達ですか?

使い方.filter ()


まさに.map() , .filter() 元の配列を変更しないでください.filterメソッドは引数として関数を受け入れます.前に述べたように、これはコールバック関数(あるいはコールバック)と呼ばれます.コールバック関数はtrue or false *. 値がテスト(戻り値)を通過するならば、あなたは、配列の値の各々のためのテストとして、Filterメソッドのコールバック関数を考えることができますtrue ) それから、それは新しい配列に受け入れられます、さもなければ、それはカットオフです.
開発者はしばしばコールバック関数を書いているように見えます.filter() あなたが実行しているテストが広範囲であるならば、あなたは別に別々に機能をつくることもできます.
編集: Jon Randyのおかげで、コールバック関数が明示的に返す必要がないことに注意してくださいtrue or false でもtruthiness 1または2のような値falsiness 値は0を好む.
例:
const randomNumbers = [2, 71, 828, 18, 28, 459, 04, 523, 53, 602, 87, 47, 13, 526, 62, 49, 77, 57, 24, 70, 93]

function isEven(number) {
  return number % 2 === 0;
}

const filteredForEven = randomNumbers.filter(isEven);
const filteredForOdd = randomNumbers.filter( number => !isEven(number));

console.log(filteredForEven); // [2,828,18,28,4,602,526,62,24,70]
console.log(filteredForOdd); // [71,459,523,53,87,47,13,49,77,57,93]
console.log(randomNumbers); // [2,71,828,18,28,459,4,523,53,602,87,47,13,526,62,49,77,57,24,70,93]
上の例では、randomNumbers (ボーナスポイントは、これらの数字がどこから来たかを知っているならば.filter() です.関数も定義しましたisEven 我々が通る数がそうであるかどうかテストするために.
ご覧のように、我々がフィルタリングしたときrandomNumbers 偶数の配列については、括弧なしでコールバック関数の名前を付けます.結果は、偶数の数字を含む新しい配列を示します.
コールバック関数として使用する新しい関数を作成するのではなく、奇数をフィルタリングしたとき、関数は.filter() これは、番号を呼び出しますisEven その番号を付けてください.

概要


配列.プロトタイプ.filter ()
  • 配列の値のそれぞれにコールバック関数を呼び出して新しい配列を作成します.
  • コールバック関数はtrue or false .
  • 元の配列を変更しません.
  • このメソッドの詳細については、チェックアウト公式ドキュメントMDN - Mozilla .
    あなたが最後にそれを作った場合は、任意のエラーを見つけたり、フィードバックをしてくださいコメントを残してください.