each


効果


より宣言的なコード表現
エラーとエラーを減らす.
直感的なため、符号化がより正確であることを確認します.
重複除外
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문 돌려주는 함수일뿐 그 이상 이하도 아님
}