Maison > Questions et réponses > le corps du texte
map et forEach, pourquoi le troisième n'est pas valide
let arr0=[1,2,3,5,0,9,1000,294,85,3850];
console.log(arr0.map(x=>x+x));
arr0.map(x=>console.log(x+x));
console.log(arr0.forEach(x=>x+x)); // ??
arr0.forEach(x=>console.log(x+x));
Comment afficher la valeur de forEach sous forme de tableau ??
習慣沉默2017-05-19 10:28:35
D'accord, en fait, x=>x+x est une abréviation, qui équivaut à x=>{return x+x;} ; return in forEach mettra fin au parcours
;伊谢尔伦2017-05-19 10:28:35
forEach n'a pas de valeur de retour et doit être écrit en deux étapes, ou utiliser la dernière méthode
阿神2017-05-19 10:28:35
Si vous souhaitez cet effet, vous devez créer manuellement un nouveau tableau et l'utiliser dans forEach
var resultArr = []
arr.forEach((item) => {resultArr.push(item)})
console.log(resultArr)
淡淡烟草味2017-05-19 10:28:35
Comme son nom l'indique, for each signifie "pour chaque opération", et map signifie "correspondance individuelle".
Donc forEach
ne se souciera pas de la valeur de retour.
Ce n'est pas intéressant de se demander pourquoi ce genre de chose est définie artificiellement, vérifiez davantage l'API.