【js(配列操作)】filter()

filter()とは

ループ処理
配列限定
条件でソートできる

書き方

map()と同じ。

数値の配列がある、7以下の数値で新たに配列を作る

  let numbers = [1,2,3,4,5,6,7,8,9];

  //7以下を取得して新しい配列にする
  let result = numbers.filter(function(number){
              return number <= 7;
  });
  console.log(result);

【結果】
[1, 2, 3, 4, 5, 6, 7]


文字の配列がある、特定の文字だけ取得する

  let users = ['userID_1234', 'userID_4567', 'userID_8755', 'userID_6876'];

  //文字の配列がある、特定の文字だけ取得する
  let result = users.filter(function(user){
              return user === 'userID_8755';
  });
  console.log(result);

【結果】
["userID_8755"]

外部のオブジェクトと情報を比較して特定の取得する

const MENUS = {
    'グリル' : 750,
    'ポークプレート' : 800,
    'タコライス' : 650,
    'カレー' : 500,
    'カルボナーラ' : 1200,
    'ピザ' : 2400,
    'ビール' : 750,
    'コーラ' : 500,
  };


  let orders = ['ピザ','コーラ','カレー','ポークプレート'];

  //外部のオブジェクトと情報を比較して特定の取得する
  let result = orders.filter(function(order){
              for(let menu in this){
                    if(menu === order){
                      return order;
                    } 
              }
  },MENUS);
  console.log(result);

【結果】
 ["ピザ", "コーラ", "カレー", "ポークプレート"]

参考記事
https://www.sejuku.net/blog/21887www.sejuku.net