हमारे पास एक सरणी है जिसमें स्ट्रिंग और संख्या मिश्रित डेटा प्रकार होते हैं, हमें एक सॉर्टिंग फ़ंक्शन लिखना होता है जो सरणी को सॉर्ट करता है ताकि NaN मान हमेशा नीचे समाप्त हो। सरणी में पहले सभी सामान्य संख्याएँ होनी चाहिए, उसके बाद स्ट्रिंग अक्षर और उसके बाद NaNnumbers।
हम जानते हैं कि NaN का डेटा प्रकार "नंबर" है, इसलिए हम NaN जैसे !number &&!string की जांच नहीं कर सकते। इसके अलावा, अगर हम केवल तत्वों की तनातनी और मिथ्यात्व की जाँच करते हैं तो खाली तार भी उसी स्थिति को संतुष्ट करेंगे जो NaN या अपरिभाषित संतुष्ट करता है।
NaN की जांच करें
तो हम NaN की जांच कैसे करते हैं। NaN संख्याओं में एक विशेष गुण होता है, और यह है कि NaN, NaN के समान है, जो कि JS में किसी भी अन्य मान के लिए है, चाहे वह कोई भी हो, मान ===मान सही होगा, लेकिन NaN ===NaN हमेशा असत्य उत्पन्न करता है। हम इस तथ्य का उपयोग अपनी सरणी को सॉर्ट करने के लिए करेंगे।
उदाहरण
const arr = [344, 'fd', NaN, '', 5, 'f',76, NaN, 76, NaN, 87, 89, 'fdf', 23, 'fgg', NaN, 765]; const sorter = (a, b) => { if(a !== a){ return 1; }else if(b !== b){ return -1; } return typeof a === 'number' ? -1 : 1; }; arr.sort(sorter); console.log(arr);
आउटपुट
कंसोल में आउटपुट होगा -
[ 765, 23, 89, 87, 76, 76, 5, 344, 'fd', '', 'f', 'fdf', 'fgg', NaN, NaN, NaN, NaN ]