Learn or Die

生涯勉強。Macです。

Javascriptのメソッド indexOf / map / filter

indexOf() - 文字列を検索する

検索対象の文字列の先頭(0番目)から、順番に1文字ずつ検索をしていき、最初に一致した位置(index番号)を数値で返してくれる。

//任意の文字列
var fruits = 'lemon', 'orange', 'apple';
// 'orange'を検索する
var search_result = fruits.indexOf('orange');
console.log(search_result);
//出力結果:6

検索した文字列が見つからなかった場合は「-1」が返ってきます。

//任意の文字列
var fruits = 'lemon', 'orange', 'apple';
//'banana'を検索する
var search_result = fruits.indexOf('banana');

if (search_result !== -1) {
  console.log('見つかりました');
} else {
  console.log('見つかりませんでした');
}

map() - 配列の各要素にコールバック関数を実行する

配列に使うメソッドで、各要素に対してコールバック関数を実行し、その結果を新しい配列として返す。

  • コールバック関数とは
    関数に引数として渡される関数のこと。
var items = [1,2,3,4];
//配列の各要素を2倍にして返す
var calc_result = items.map(item => {
    return item * 2;
});
 
console.log(calc_result);
//出力結果:[2,4,6,8]

filter() - 配列から、特定の条件を満たすデータを抽出する

こちらも配列に使うメソッドで、特定の条件をコールバック関数に書くことで、条件を満たすデータを配列で返してくれる。

var items = [1,2,3,4,5,6,7,8,9,10];
 
var results = items.filter(item => {
    //3の倍数を抽出
    return value % 3;
});
 
console.log(results);
//出力結果:[3,6,9]