English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript配列filter()メソッド

 JavaScript 数组オブジェクト

 filter()メソッドは、提供されたコールバック関数で実現されたテストを通過したすべての要素を含む新しい配列を作成します。

注意: filter()メソッドは元の配列を変更しません。

文法:

array.filter(callback, thisArg)
var age = [1, 30, 39, 29, 10, 13];
var val = age.filter(isAdult);
function isAdult(element) {
    return element >= 18;
}
テストしてみる‹/›

ブラウザの互換性

テーブルの数字は、filter()メソッドを完全にサポートする最初のブラウザのバージョンを指定しています:

メソッド
filter()1.59

引数の値

引数説明
callback
配列内の各要素に実行する関数。
関数引数:
  • element(必須)-配列内で現在処理中の要素

  • index(選択可)-配列内で現在処理中の要素のインデックス

  • array(選択可)- 配列が呼び出されましたフィルタ

thisArg(選択可)値、コールバックを実行する際に使用

技術詳細

返り値:テストを通過した要素を持つ新しい配列。要素がテストを通過しない場合、空の配列が返されます
JavaScript バージョン:ECMAScript 5

さらに例

以下の例では、filter()メソッドを使用して検索条件に基づいて配列の内容をフィルタリングします:

var fruits = ['apple', 'mango', 'banana', 'orange', 'grapes'];
/**
 * 検索条件に基づく配列フィルタ選択(クエリ)
 */
function filterItems(query) {
   return fruits.filter(function(el) {
         return el.indexOf(query) > -1;
   }
}
function myFunc(val) {
    document.getElementById("result").innerHTML = filterItems(val);
}
テストしてみる‹/›

 JavaScript 数组オブジェクト