döngü sırasında tanımsız nasıl ele alınır [çoğalt]

Dec 26 2020
[1, 3, 4, 5, 5, undefined, 4, 3, 4].map((item) => {
    if (item) {
        return item
    }
})

Yukarıdaki kodun çıktısı

Neden undefinedde döndürülür, ifdöngü tarafından durdurulmaması gerekir mi?

Yanıtlar

1 ASDFGerte Dec 26 2020 at 16:32

Öğe yanlışsa harita işleviniz açık bir şekilde hiçbir şey döndürmez, dolayısıyla geri döner undefined(varsayılan olarak).

Başka bir yorumun da işaret ettiği gibi, muhtemelen şunları arıyorsunuz Array.prototype.filter:

console.log([1,3,4,5,5,undefined,4,3,4].filter((item)=>{
  if(item){
    return item;
  }
}));

Yukarıdakilerin biraz ayrıntılı olduğunu, .filter(x => x)yeterli olacağını unutmayın, yine de geri dönüş filterçağrıları ToBoolean. Yine de yanlış değerleri filtreleyecektir , örneğin 0.