티스토리 뷰


함수형 프로그래밍- 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);

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함