내가 map과 foreach에서 보는 유일한 차이점 map
은 배열을 반환하고 forEach
그렇지 않다는 것입니다. 그러나 forEach
" func.call(scope, this[i], i, this);
" 메서드 의 마지막 줄도 이해하지 못합니다 . 예를 들어, "없는 this
"및 " scope
"동일한 개체 참조되지 않고 this[i]
및 i
루프의 현재 값을 참조?
다른 게시물에서 누군가 " forEach
목록의 각 요소를 기반으로 무언가를하고 싶을 때 사용 합니다. 예를 들어 페이지에 항목을 추가 할 수 있습니다. 기본적으로"부작용 "을 원할 때 유용합니다. 부작용이 무엇을 의미하는지 모르겠습니다.
Array.prototype.map = function(fnc) {
var a = new Array(this.length);
for (var i = 0; i < this.length; i++) {
a[i] = fnc(this[i]);
}
return a;
}
Array.prototype.forEach = function(func, scope) {
scope = scope || this;
for (var i = 0, l = this.length; i < l; i++) {
func.call(scope, this[i], i, this);
}
}
마지막으로, 다음과 같이 숫자를 조작하는 것 외에 자바 스크립트에서 이러한 메서드를 실제로 사용하는 것이 있습니까 (데이터베이스를 업데이트하지 않기 때문에) :
alert([1,2,3,4].map(function(x){ return x + 1})); //this is the only example I ever see of map in javascript.
답장을 보내 주셔서 감사합니다.
map
및에서 했던 것처럼 네이티브 JavaScript에 대한 함수의 정의를 어떻게 찾을 수forEach
있습니까? Google에서 얻는 것은 사용 사양과 자습서뿐입니다.