Saya tahu ada banyak topik seperti ini. Dan saya tahu dasar-dasarnya: .forEach()
beroperasi pada array asli dan .map()
yang baru.
Dalam kasus saya:
function practice (i){
return i+1;
};
var a = [ -1, 0, 1, 2, 3, 4, 5 ];
var b = [ 0 ];
var c = [ 0 ];
console.log(a);
b = a.forEach(practice);
console.log("=====");
console.log(a);
console.log(b);
c = a.map(practice);
console.log("=====");
console.log(a);
console.log(c);
Dan inilah keluarannya:
[ -1, 0, 1, 2, 3, 4, 5 ]
=====
[ -1, 0, 1, 2, 3, 4, 5 ]
undefined
=====
[ -1, 0, 1, 2, 3, 4, 5 ]
[ 0, 1, 2, 3, 4, 5, 6 ]
Saya tidak mengerti mengapa menggunakan practice
perubahan nilai b
menjadi undefined
.
Maaf jika ini adalah pertanyaan konyol, tetapi saya cukup baru dalam bahasa ini dan jawaban yang saya temukan sejauh ini tidak memuaskan saya.
.map
mengembalikan array baru , sedangkan.forEach
tidak mengembalikan apa pun . Pada dasarnya, jika Anda ingin mendapatkan bentuk modifikasi dari larik sebelumnya, Anda menggunakan.map
, jika Anda tidak menginginkannya, Anda menggunakan.forEach
.