Satu-satunya perbedaan yang saya lihat di map dan foreach map
adalah mengembalikan array dan forEach
tidak. Namun, saya bahkan tidak mengerti baris terakhir dari forEach
metode " func.call(scope, this[i], i, this);
". Misalnya, bukankah " this
" dan " scope
" merujuk ke objek yang sama dan bukan this[i]
dan i
merujuk ke nilai saat ini dalam pengulangan?
Saya melihat di posting lain seseorang berkata "Gunakan forEach
saat Anda ingin melakukan sesuatu berdasarkan setiap elemen daftar. Anda mungkin menambahkan sesuatu ke halaman, misalnya. Pada dasarnya, ini bagus untuk saat Anda menginginkan" efek samping ". Saya tidak tahu apa yang dimaksud dengan efek samping.
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);
}
}
Akhirnya, apakah ada kegunaan nyata untuk metode ini dalam javascript (karena kami tidak memperbarui database) selain untuk memanipulasi angka seperti ini:
alert([1,2,3,4].map(function(x){ return x + 1})); //this is the only example I ever see of map in javascript.
Terima kasih atas balasannya.
map
danforEach
? Yang saya dapatkan dari Google hanyalah spesifikasi penggunaan dan tutorialnya.