केवल एक अंतर जो मैं मानचित्र और फ़ॉरच में देखता हूं, वह 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और जैसे देशी जावास्क्रिप्ट की एक फ़ंक्शन परिभाषा कैसे पा सकते हैंforEach? मुझे Google से प्राप्त होने वाले सभी उपयोग विनिर्देशों और ट्यूटोरियल हैं।