Je sais qu'il y avait beaucoup de sujets comme celui-ci. Et je connais les bases: .forEach()
fonctionne sur le tableau d'origine et .map()
sur le nouveau.
Dans mon cas:
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);
Et voici la sortie:
[ -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 ]
Je ne comprends pas pourquoi utiliser practice
change la valeur de b
à undefined
.
Je suis désolé si c'est une question idiote, mais je suis assez nouveau dans cette langue et les réponses que j'ai trouvées jusqu'à présent ne m'ont pas satisfait.
.map
renvoie un nouveau tableau , alors que.forEach
ne renvoie rien . Fondamentalement, si vous souhaitez obtenir une forme modifiée du tableau précédent, vous utilisez.map
, si vous ne le souhaitez pas, vous utilisez.forEach
.