लूपिंग करते समय अपरिभाषित इलाज कैसे किया जाता है [डुप्लिकेट]
Dec 26 2020
[1, 3, 4, 5, 5, undefined, 4, 3, 4].map((item) => {
if (item) {
return item
}
})
उपरोक्त कोड का आउटपुट है

क्यों undefined
लौटाया जाता है, क्या इसे if
लूप द्वारा रोका नहीं जाना चाहिए ?
जवाब
1 ASDFGerte Dec 26 2020 at 16:32
यदि आइटम गलत है, तो आपका मानचित्र फ़ंक्शन स्पष्ट रूप से कुछ भी नहीं लौटाता है, इसलिए यह रिटर्न undefined
(प्रति डिफ़ॉल्ट) है।
जैसा कि एक अन्य टिप्पणी में बताया गया है, आप शायद इसकी तलाश कर रहे हैं Array.prototype.filter:
console.log([1,3,4,5,5,undefined,4,3,4].filter((item)=>{
if(item){
return item;
}
}));
ध्यान दें कि ऊपर थोड़ा वर्बोज़ है, .filter(x => x)
पर्याप्त होगा, वापसी वैसे भी filter
कॉल करेगा ToBoolean
। यह अभी भी किसी भी मिथ्या मूल्यों को फ़िल्टर करेगा , हालांकि 0।