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

एक सरणी जावास्क्रिप्ट में NaN कीवर्ड के अस्तित्व की जांच कैसे करें

<घंटा/>

हमारे पास ऐसे तत्वों की एक सरणी है जिनमें सत्य और असत्य दोनों मान शामिल हैं। हमारा काम एक फ़ंक्शन लिखना है जो उन तत्वों के सूचकांक के साथ एक सरणी देता है जो मूल सरणी में NaN हैं।

NaN!==NaN

NaN का डेटाटाइप वास्तव में संख्या है। यद्यपि NaN एक मिथ्या मान है, लेकिन इसकी एक विशिष्ट संपत्ति है जो किसी अन्य डेटाटाइप या चर के पास नहीं है। यह है कि व्यंजक NaN ===NaN यील्डझूठा है। और केवल NaN के मामले में यह झूठा है।

इसलिए, हम इस व्यवहार का उपयोग अपने अच्छे के लिए कर सकते हैं और NaN वैल्यू इंडेक्स चुन सकते हैं। इसके लिए कोड होगा -

const arr = [7, 1, "123abc", undefined, NaN, 78, NaN, null, "aes", NaN,
'', null, NaN];
const pickNaN = (arr) => {
   return arr.reduce((acc, val, ind) => {
      if(val !== val){
         acc.push(ind);
      };
      return acc;
   }, []);
};
console.log(pickNaN(arr));

isNaN() / Number.isNaN()

का उपयोग करना

isNaN () फ़ंक्शन इस तथ्य के आधार पर सही या गलत लौटाता है कि प्रदान किया गया मान isa NaN है या नहीं या किसी NaN के लिए मजबूर किया जा सकता है। जबकि Number.isNaN() फ़ंक्शन केवल तभी सही होता है जब प्रदान किया गया मान वास्तव में NaN हो।

तो, Number.isNaN () isNaN () पर NaN के लिए जाँच करने का एक विश्वसनीय तरीका है। कोड आउटपुट में अंतर नीचे दिखाया गया है।

उदाहरण

const arr = [7, 1, "abc", undefined, NaN, 78, NaN, null, "aes", NaN, '',
null, NaN];
const pickNaN = (arr) => {
   return arr.reduce((acc, val, ind) => {
      if(Number.isNaN(val)){
         acc.reliableWay.push(ind);
      };
      if(isNaN(val)){
         acc.unreliableWay.push(ind);
      }
      return acc;
   }, {
      reliableWay: [],
      unreliableWay: []
   });
};
console.log(pickNaN(arr));

यह कोड दो सरणियाँ तैयार करता है, एक Number.isNaN () और एक isNaN () का उपयोग करके।

आउटपुट

आउटपुट होगा -

{
   reliableWay: [ 4, 6, 9, 12 ],
   unreliableWay: [ 2, 3, 4, 6, 8, 9, 12]
}

हम स्पष्ट रूप से देख सकते हैं कि कैसे isNaN () ने NaN के रूप में कई गैर-NaN मानों की गणना की है। इसलिएNumber.isNaN() अधिक विश्वसनीय तरीका है।


  1. कैसे जांचें कि एक NaN एक NaN है या नहीं जावास्क्रिप्ट में?

    NaN एकमात्र मूल्य है जो स्वयं के बराबर नहीं है। अगर हम जांचें अन्य मूल्य, वे स्वयं के बराबर हैं लेकिन मूल्य NaN अपने आप के बराबर नहीं है। उदाहरण-1 <html> <body>    <script>       var val = 54/"the";       document.write(val); &nb

  1. हम कैसे जांचते हैं कि कोई ऑब्जेक्ट जावास्क्रिप्ट में एक सरणी है या नहीं?

    यह जांचने के कई तरीके हैं कि कोई ऑब्जेक्ट जावास्क्रिप्ट में एक सरणी है या नहीं। आइए इनमें से कुछ को देखें - Array.isArray() का उपयोग करना सभी आधुनिक ब्राउज़र इस पद्धति का समर्थन करते हैं। उदाहरण console.log(Array.isArray(undefined)) console.log(Array.isArray(null)) console.log(Array.isArray("&

  1. कैसे जांचें कि किसी सरणी में जावास्क्रिप्ट में पूर्णांक मान हैं या नहीं?

    हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो तत्वों की एक सरणी लेता है। हमारे फ़ंक्शन को यह जांचना चाहिए कि सरणी में एक पूर्णांक मान है या नहीं। अगर यह गलत है तो हमें सही लौटना चाहिए। उदाहरण इसके लिए कोड होगा - {रिटर्न टाइपऑफ़ num ===नंबर ; }; कॉन्स्ट एल =arr.find (isInteger); वापसी !!el;};console.