ข้อแตกต่างเดียวที่ฉันเห็นในแผนที่และ 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
และได้forEach
อย่างไร? สิ่งที่ฉันได้รับจาก Google คือข้อกำหนดการใช้งานและแบบฝึกหัด