かんすうしきプログラミング


関数式プログラミングを使用してfor文を削除します!

map()関数


関数をパラメータとして入力し、アレイ内の各要素に適用し、結果を新しいアレイに戻します.
var numbers = [1,2,3,4,5];
numbers = numbers.map(function(n){
  return n+1;
});
console.log(numbers); 
// 주의 : return 키워드 필수!!!!
// (undefined로 가득찬 배열을 보게될 것)

filter()関数


配列内の各項目にパラメータ伝達関数として適用し,戻り値trueの項目のみを分離する.このときの結果配列は数値配列ではなく「新しい配列」であることを覚えておいてください.
var numbers = [1,2,3,4,5];
var r = numbers.filter(function(){
  return n%2===0;
});
console.log(r);

reduce()関数


2つの因子を受ける.1つ目は、アレイ内の各アイテムに適用する関数で、2つ目のパラメータは累積値の初期値です.この累積値はコード内のtotalに相当し、vの値が「1」から「5」に増加すると、totalは以前に返された値に設定されます.
var numbers = [1,2,3,4,5];
var sum = numbers.reduce(function(total,v){
  return total+v;
},0);
console.log(sum);