javascript - Kenapa forEach dalam es6 tidak boleh ditulis seperti ini??
PHP中文网
PHP中文网 2017-05-19 10:26:35
0
5
490

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??

PHP中文网
PHP中文网

认证0级讲师

membalas semua(5)
習慣沉默

Baiklah, sebenarnya x=>x+x ialah singkatan, yang bersamaan dengan x=>{return x+x;}; return in forEach akan menamatkan traversal

Peter_Zhu

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

var resultArr = []
arr.forEach((item) => {resultArr.push(item)})
console.log(resultArr)
淡淡烟草味

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan