Sự khác biệt duy nhất tôi thấy trong map và foreach maplà trả về một mảng và forEachkhông. Tuy nhiên, tôi thậm chí không hiểu dòng cuối cùng của forEachphương thức " func.call(scope, this[i], i, this);". Ví dụ: không phải " this" và " scope" đề cập đến cùng một đối tượng và không phải là this[i]và iđề cập đến giá trị hiện tại trong vòng lặp?
Tôi nhận thấy trên một bài đăng khác có người nói "Sử dụng forEachkhi bạn muốn làm điều gì đó trên cơ sở từng yếu tố của danh sách. Bạn có thể thêm những thứ vào trang chẳng hạn. Về cơ bản, nó rất tốt khi bạn muốn" tác dụng phụ ". Tôi không biết tác dụng phụ là gì.
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);
}
}
Cuối cùng, có bất kỳ cách sử dụng thực sự nào cho các phương thức này trong javascript không (vì chúng tôi không cập nhật cơ sở dữ liệu) ngoài việc thao tác các số như thế này:
alert([1,2,3,4].map(function(x){ return x + 1})); //this is the only example I ever see of map in javascript.
Cảm ơn vì đã trả lời.
mapvàforEach? Tất cả những gì tôi nhận được từ Google là thông số kỹ thuật và hướng dẫn sử dụng.