filter

カテゴリー:

filterはtrueかfalseで判断させ、trueだった場合に新しい配列を生成する。

基本的な使い方

基本的な使い方は、mapと似ているが、違う点として条件を詳細に設定できる。

const products = [
  {
    name: 'きゅうり',
    type: '野菜',
    quantity: 0,
    price: 1
  }, {
    name: 'バナナ',
    type: 'フルーツ',
    quantity: 10,
    price: 15
  }, {
    name: 'セロリ',
    type: '野菜',
    quantity: 30,
    price: 9
  }, {
    name: 'オレンジ',
    type: 'フルーツ',
    quantity: 3,
    price: 5
  },
];

products.filter(function (product) {
  return product.type === 'フルーツ';
});

&& や || などの条件式で繋ぐことによって複数の条件を指定することができる。

注意点

return文が必須。

returnが無い場合、false扱いとなり、空となる。

利用例

自分が取得したものだけ絞り込みたいという時に使用する。


const post = {
  id: 4,
  title: '初めての投稿'
};

const comments = [{
    postId: 4,
    content: 'いい記事ですね!'
  },
  {
    postId: 3,
    content: '勉強になりました'
  },
  {
    postId: 4,
    content: 'なるほど'
  },
];

function commentsForPost(post, comments) {
  return comments.filter(function (comment) {
    return comment.postId === post.id;
  });
}

参考URL

タグ: