Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
filter() は Array インスタンスのメソッドで、指定された配列の中から指定された関数で実装されているテストに合格した要素だけを抽出したシャローコピーを作成します。
配列のそれぞれの要素に対して実行する関数です。この関数は、配列の要素を保持する場合は真値、保持しない場合は偽値を返します。この関数は以下の引数で呼び出されます。
element配列内で処理中の現在の要素です。
index配列内で処理中の現在の要素のインデックスです。
arrayfilter() が呼び出された配列です。
thisArg 省略可callbackFn を実行する際に this として使用される値。反復処理メソッドを参照してください。
指定された配列の一部を、指定された関数で実装されたテストに合格した要素だけに絞り込んでシャローコピーしたものです。テストに合格した要素がない場合は、空の配列が返されます。
filter() メソッドは反復処理メソッドです。指定された callbackFn 関数を配列の各要素に対して一度ずつ呼び出し、 callbackFn が真値を返したすべての要素からなる新しい配列を生成します。 callbackFn テストに合格しなかった配列要素は、新しい配列には含まれません。これらのメソッドが一般的にどのように動作するのかについての詳細は、反復処理メソッドの節をご覧ください。
callbackFn は値が割り当てられている配列インデックスに対してのみ呼び出されます。疎配列の空のスロットに対しては呼び出されません。
filter() メソッドは汎用的です。このメソッドは this の値に length プロパティと整数のキーを持ったプロパティがあることだけを求めます。
次の例では、filter() を使って 10 未満の値を持つ要素をすべて取り除いた配列を生成します。
以下の例は配列内のすべての素数を返します。
メモ: isPrime() の実装は、説明のみを目的としています。実際のアプリケーションでは、繰り返し計算を避けるために、エラトステネスの篩などの、高度に最適化されたアルゴリズムを使用することをお勧めします。
次の例では、filter() を使って id の数値が 0 以外の要素だけに絞った JSON を生成します。
次の例では filter() を使って検索条件で配列の絞り込みをしています。
array 引数は、配列の別の要素にアクセスしたい場合、特に、その配列を参照する既存の変数がない場合に便利です。次の例では、まず map() を使用してそれぞれの名前から数値 ID を抽出し、次に filter() を使用して、その数値が隣の数値よりも大きいものを選択しています。
array 引数は、構築中の配列ではありません。コールバック関数から構築中の配列にアクセスする方法はありません。
filter() は空のスロットをスキップします。
filter() メソッドは this の length プロパティを読み取り、 length 未満の非負の整数のキーを持つすべてのプロパティにアクセスします。
| ECMAScript® 2027 Language Specification # sec-array.prototype.filter |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2025年8月8日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.