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

Array.map(Number) रिक्त स्थान को शून्य में क्यों परिवर्तित करता है? जावास्क्रिप्ट

<घंटा/>

मान लें कि हमें निम्नलिखित कोड और आउटपुट दिया गया है और हमें यह पता लगाने की आवश्यकता है कि जावास्क्रिप्ट खाली स्ट्रिंग्स (" ") को 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 भी हो

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

इस बेतुके व्यवहार को रोकने के लिए हम अपने मैप () फंक्शन में कुछ इस तरह से बदलाव कर सकते हैं -

उदाहरण

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. जावास्क्रिप्ट एक सरणी को JSON में बदलें

    जावास्क्रिप्ट में किसी सरणी को JSON में बदलने के लिए, कोड इस प्रकार है - उदाहरण body { font-family:Segoe UI, Tahoma, Geneva, Verdana, sans-serif; }सरणी को JSON में बदलनायहां क्लिक करें सरणी को JSON में बदलने के लिए उपरोक्त बटन पर क्लिक करें let sampleEle =document.querySelector(.sample); लेट एरर =[

  1. जावास्क्रिप्ट में ऐरे को सेट में कैसे बदलें?

    अरे को JavaScript में सेट करने के लिए कनवर्ट करने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <titl

  1. जावास्क्रिप्ट में किसी सरणी को खाली करने के तरीकों की संख्या

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