bagaimana tidak terdefinisi diperlakukan saat mengulang [duplikat]
[1, 3, 4, 5, 5, undefined, 4, 3, 4].map((item) => {
if (item) {
return item
}
})
Output dari kode di atas adalah
Mengapa undefined
juga dikembalikan, bukankah harus dihentikan oleh if
loop?
Jawaban
1 ASDFGerte
Fungsi peta Anda tidak mengembalikan apa pun secara eksplisit jika item tersebut salah, oleh karena itu ia mengembalikan undefined
(per default).
Seperti yang ditunjukkan oleh komentar lain, Anda mungkin mencari Array.prototype.filter:
console.log([1,3,4,5,5,undefined,4,3,4].filter((item)=>{
if(item){
return item;
}
}));
Perhatikan bahwa di atas sedikit bertele-tele, .filter(x => x)
sudah cukup, filter
panggilan ToBoolean
kembali lagian. Ini masih akan menyaring setiap falsy nilai meskipun, misalnya 0.
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'