Bunun gibi pek çok konu olduğunu biliyorum. Ve temelleri biliyorum: .forEach()
orijinal dizide ve yenisinde çalışır .map()
.
Benim durumumda:
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);
Ve bu çıktı:
[ -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 ]
Kullanarak neden anlayamıyorum practice
değişikliklerin değer b
için undefined
.
Bu aptalca bir soru ise özür dilerim, ama bu dilde oldukça yeniyim ve şimdiye kadar bulduğum cevaplar beni tatmin etmedi.
.map
yeni bir dizi döndürür , ancak.forEach
hiçbir şey döndürmez . Temel olarak, önceki dizinin değiştirilmiş bir biçimini elde etmek istiyorsanız, kullanırsınız.map
, istemiyorsanız kullanırsınız.forEach
.