peta dan untukSetiap, mengapa yang ketiga tidak sah
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));
Bagaimana untuk mengeluarkan nilai forEach sebagai tatasusunan??
Baiklah, sebenarnya x=>x+x ialah singkatan, yang bersamaan dengan x=>{return x+x;}; return in forEach akan menamatkan traversal
forEach
的返回值是undefined
forEach tidak mempunyai nilai pulangan dan perlu ditulis dalam dua langkah, atau gunakan kaedah terakhir
Jika anda mahukan kesan ini, anda perlu mencipta tatasusunan baharu secara manual dan mengendalikannya dalam forEach
Seperti namanya, untuk setiap bermaksud "untuk setiap operasi", dan peta bermaksud "padanan satu dengan satu".
Jadi
forEach
tidak akan mengambil berat tentang nilai pulangan.Tidak menarik untuk bertanya mengapa jenis set buatan ini, semak API lebih lanjut.