얻는 효과
더욱 선언적인 코드표현
오류 및 실수 줄어들고
보다 정확하게 코딩했다는 확신을 얻음(직관적이니까)
중복을 제거 하기 위함
function _map(list, mapper) {
var new_list = [];
for (var i = 0; i< list.length ; i++) {///////////////
new_list.push(mapper(list[i]));
}
return new_list;
}
function _filter(list, predi) {
var new_list = [];
for(var i = 0; i< list.length ; i++) {///////////////
if(predi(list[i])) {
new_list.push(list[i]);
}
}
return new_list;
}
위에서 중복 제거부분 -> 루프부분, 해당 i번째 찾는것
function _filter(list, predi) {
var new_list = [];
_each(list, function(val){///////////////
if(predi(val)) {
new_list.push(val);
}
}
}
function _map(list, mapper) {
var new_list = [];
_each(list, function(val){ ///////////////
new_list.push(mapper(val));
});
return new_list;
}
function _each(list, iter) {
for (var i = 0; i < list.length; i++) {
iter(list[i]);// iter 함수 실행
}
return list; //받은 값을 그대로 리턴함, 일개 for문 돌려주는 함수일뿐 그 이상 이하도 아님
}