filterメソッド

filterメソッドとは

filterメソッドは、取得したいデータの条件を「コールバック関数」に書くことで、任意のデータを抽出し、新しい配列を生成します。

filterメソッドの使い方

itemsのデータに対して1つずつコールバック関数で定義した条件でチェックし、該当したデータのみをselected_itemsに格納します。

var items = 配列データ;
 
var filtered_items = items.filter(コールバック関数);

実行例

// 配列の定義
var items = [
  { name: 'きゅうり', type: '野菜' },
  { name: 'バナナ', type: 'フルーツ' },
  { name: 'セロリ', type: '野菜' },
  { name: 'オレンジ', type: 'フルーツ' },
];

// typeが「野菜」のデータのみを抽出し、filtered_itemsに格納
var filtered_items = items.filter(function(item) {
  return item.type == '野菜';
});

// filtered_itemsを表示
filtered_items.forEach(function(item) {
  console.log(item);
});

実行結果

{ name: 'きゅうり', type: '野菜' }
{ name: 'セロリ', type: '野菜' }
データの絞り込みを行う場合には、条件を追加すれば実現可能です。
var items = [
  { name: 'きゅうり', type: '野菜', quote: 3, price: 100 },
  { name: 'バナナ', type: 'フルーツ', quote: 12, price: 300 },
  { name: 'セロリ', type: '野菜', quote: 9, price: 250 },
  { name: 'オレンジ', type: 'フルーツ', quote: 8, price: 500 },
];

// typeが野菜、quoteが10より小さい、priceが200より大きいのデータのみを抽出し、filtered_itemsに格納
var filtered_items = items.filter(function(item) {
  return item.type == '野菜' && item.quote < 10 && item.price > 200;
});

// filtered_itemsを表示
filtered_items.forEach(function(item) {
  console.log(item);
});

コメント