Ich weiß, dass es viele solche Themen gab. Und ich kenne die Grundlagen: .forEach()
arbeitet mit dem ursprünglichen Array und .map()
mit dem neuen.
In meinem Fall:
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);
Und das wird ausgegeben:
[ -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 ]
Ich kann nicht verstehen, warum die Verwendung von practice
Änderungswerten von b
to undefined
.
Es tut mir leid, wenn dies eine dumme Frage ist, aber ich bin ziemlich neu in dieser Sprache und die Antworten, die ich bisher gefunden habe, haben mich nicht befriedigt.
.map
Gibt ein neues Array zurück , während.forEach
nichts zurückgegeben wird . Wenn Sie eine geänderte Form des vorherigen Arrays erhalten.map
möchten, verwenden Sie grundsätzlich, wenn Sie dies nicht möchten, verwenden Sie.forEach
.