티스토리 뷰
함수형 프로그래밍- reduce함수
function _reduce(list, iter, memo){
if(arguments.length == 2){
memo = list[0];
//slice는 array만 사용가능
list = list.slice(1);
}
_each(list,function(val){
memo = iter(memo,val);
});
return memo;
}
console.log(
_reduce([1,2,3], add, 0));
//6
memo = add(0,1);
memo = add(memo, 2);
memo = add(memo, 3);
return memo;
reduce는 말 그대로 축약하는 함수이다. (재귀)
개발자가 고민을 덜하게한다.
쉽게 코딩을 할 수있다.
console.log(
_reduce([1,2,3], add);
)
//세번째 인자값을 넣지 않아도 된다. 위의 if문 참고!
+추가+
slice 란? 배열의 크기를 넣어준 인자만큼 자르는 함수
var a =[1,2,3];
a.slice(1);
//결과 [2,3]
a.slice(2);
//결과 [3];
a
//결과 [1,2,3] ->실제 배열을 자르는 것은 아님.새로운 값 return은 x
var a ={0: 1, 1: 20, 2: 30};
//array like 객체에서는 a.slice안됨.
//아래와 같이는 사용가능
var slice = Array.prototype.slice;
slice.call(a,1);
'Programming Skills > 함수형 프로그래밍' 카테고리의 다른 글
함수형프로그래밍-커링 (0) | 2018.02.07 |
---|---|
함수형 프로그래밍 -다형성 (0) | 2018.02.06 |
함수형프로그래밍-map,filter (0) | 2018.02.01 |
함수형 프로그래밍-요즘개발이야기,함수형 프로그래밍정의 (0) | 2018.01.31 |
함수형프로그래밍-일급함수, add_maker,함수로 함수 실행하기 (0) | 2018.01.31 |
댓글