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 practicedeğişikliklerin değer biç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.
.mapyeni bir dizi döndürür , ancak.forEachhiç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.