JS => filter/map/reduce


filter


配列内のfilterメソッド
特定の条件を満たす要素をすべての配列要素からフィルタする方法.
ここでフィルタ基準としての特定の条件はfilterメソッドのパラメータに渡される.
このとき伝達される条件は関数の形式であることを覚えておいてください.
フィルタ条件を指定した関数をパラメータとして受け入れるため、高次関数と呼ばれます.
意味の理解例
let arr = [1, 2, 3, 4];
let output = arr.filter(짝수를 걸러내기 위한 함수식); 
console.log(output); // ->> [2, 4]
<br>
arr = ['hello', 'cho', 'coding', 'happy', 'hacking'];
output = arr.filter(길이 5 이하를 걸러내기 위한 함수식)
console.log(output); // ->> ['hello', 'cho', 'happy']
実際の例
function isEven(arr) {
  return arr.filter(function(el) {
    return el % 2 === 0
  })
}
// isDouble([1, 2, 3, 4]) // [2, 4]

map


配列内のmapメソッド
すべての配列要素に同じ動作の値を返す方法.
意味の理解例
let arr = [1, 2, 3, 4];
let output = arr.map(모든 요소에 X2); 
console.log(output); // ->> [2, 4, 6, 8]
実際の例
function isDouble(arr) {
  return arr.map(function(el) {
    return el * 2
  })
}
// isDouble([1, 2, 3, 4]) // [2, 4, 6, 8]

reduce


配列内のreduceメソッド
すべてのアレイの複数のデータを1つのデータに凝縮します.
意味の理解例
let arr = [1, 2, 3];
let output = arr.reduce(모든 요소의 누적 합계); 
console.log(output); // ->> 6
<br>
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6]
let output = arr.reduce(두 배열의 합체); 
console.log(output); // ->> [1, 2, 3, 4, 5, 6]
実際の例
function isSum(arr) {
  return arr.reduce(function(acc, cur) {
    return acc + cur;
  })
}
// isDouble([1, 2, 3, 4]) // 10
reduceメソッドのコールバック関数のパラメータは、初期値(acc)と現在値(cur)に設定されます.
初期値を設定しないと、渡された配列の最初の要素が初期値に設定されます.