bagaimana tidak terdefinisi diperlakukan saat mengulang [duplikat]
Dec 26 2020
[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 Dec 26 2020 at 16:32
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.
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'