Sự khác biệt duy nhất tôi thấy trong map và foreach map
là trả về một mảng và forEach
không. Tuy nhiên, tôi thậm chí không hiểu dòng cuối cùng của forEach
phươ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 forEach
khi 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.
map
và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.