Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में Array.map(Number) खाली स्पेस को 0 में क्यों बदल देता है?


मान लीजिए हमारे पास निम्न कोड और आउटपुट है और हमें यह पता लगाना है कि JavaScript खाली स्ट्रिंग (" ") को 0 में क्यों बदल देता है:

const digify = (str) => {   const parsedStr = [...str].map(Number);   return parsedStr; }
console.log(digify("778 858 7577"))

आउटपुट

[ 7, 7, 8, 0, 8, 5, 8, 0, 7, 5, 7, 7 ]

यह व्यवहार बहुत परेशान करने वाला हो सकता है, खासकर जब स्ट्रिंग में पहले से ही कुछ 0 मौजूद हों।

दरअसल, map() फ़ंक्शन के अंदर जब हम प्रत्येक कैरेक्टर को Number का उपयोग करके उसके संख्यात्मक समकक्ष में बदलते हैं, तो यह सख्त समानता तुलना (===) के बजाय अमूर्त समानता तुलना (==) का उपयोग करता है, जिसके अनुसार ' ' == 0 का परिणाम true होता है और इस प्रकार प्रत्येक स्पेस 0 में बदल जाता है।

इस अजीब व्यवहार को रोकने के लिए हम अपने map() फ़ंक्शन में थोड़ा बदलाव कर सकते हैं:

उदाहरण

const sin = (str) => {   const parsedStr = [...str].map(i => parseInt(i, 10));   return parsedStr; }
console.log(sin("778 858 7577"))

इस प्रकार, जब भी कोई स्पेस आता है, तो वह NaN में बदल जाता है, जो अधिक तार्किक व्यवहार है।

आउटपुट

[ 7, 7, 8, NaN, 8, 5, 8, NaN, 7, 5, 7, 7 ]

  1. JavaScript में Array को JSON में बदलें JavaScript में Array को JSON में बदलें

    JSON.stringify() मेथड JavaScript एरे या ऑब्जेक्ट को JSON स्ट्रिंग में बदलता है, जो डेटा स्टोरेज, API कम्युनिकेशन, और डिबगिंग के लिए आवश्यक है। उदाहरण { const jsonString = JSON.stringify(arr); sampleEle.innerHTML += JSON स्ट्रिंग: + jsonString; }); </script> </body

  1. जावास्क्रिप्ट में एरे को सेट में कैसे कन्वर्ट करें? जावास्क्रिप्ट में एरे को सेट में कैसे कन्वर्ट करें?

    जावास्क्रिप्ट में एरे को सेट में कन्वर्ट करने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Document</title> <style> body { &nb

  1. JavaScript में सरणी खाली करने के तरीकों की संख्या JavaScript में सरणी खाली करने के तरीकों की संख्या

    JavaScript में सरणी खाली करने के चार तरीके हैं:नई सरणी पर सेट करना - इसमें हम अपनी सरणी वेरिएबल को एक नई खाली सरणी पर सेट करते हैं।length प्रॉपर्टी का उपयोग - इसमें हम अपनी सरणी की length प्रॉपर्टी को 0 पर सेट करते हैं।pop का उपयोग - इसमें हम सरणी के एलिमेंट्स को लगातार पॉप करते हैं जब तक लंबाई 0 न