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

JavaScript में न्यूमेरिक और अल्फाबेटिक तत्वों के ऐरे को सॉर्ट करें (नेचुरल सॉर्ट)


हमारे पास एक ऐरे है जिसमें कुछ नंबर और कुछ स्ट्रिंग्स हैं। हमें ऐरे को इस तरह सॉर्ट करना है कि नंबर सॉर्ट हो जाएं और हर स्ट्रिंग से पहले रखे जाएं और फिर स्ट्रिंग्स को वर्णानुक्रम में सॉर्ट करके रखा जाए।

उदाहरण के लिए:

सॉर्ट होने के बाद यह ऐरे

const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9];

इस तरह दिखना चाहिए:

[1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd']

तो, आइए इसके लिए कोड लिखें:

उदाहरण

const arr = [1, 'fdf', 'afv', 6, 47, 7, 'svd', 'bdf', 9];
const sorter = (a, b) => {
  if(typeof a === 'number' && typeof b === 'number'){
    return a - b;
  }else if(typeof a === 'number' && typeof b !== 'number'){
    return -1;
  }else if(typeof a !== 'number' && typeof b === 'number'){
    return 1;
  }else{
    return a > b ? 1 : -1;
  }
}
arr.sort(sorter);
console.log(arr);

आउटपुट

कंसोल में आउटपुट होगा:

[ 1, 6, 7, 9, 47, 'afv', 'bdf', 'fdf', 'svd' ]

कोड को समझना:

इस कोड का मुख्य हिस्सा sorter फ़ंक्शन है, हम जानते हैं कि कॉलबैक फ़ंक्शन दो आर्गुमेंट प्राप्त करता है, दोनों ऐरे के तत्व होते हैं।

अब हमारे पास चार संभावनाएं हैं:

  • a और b दोनों नंबर हैं → इस मामले में हम छोटी संख्या को बड़ी संख्या से पहले रखते हैं
  • a नंबर है लेकिन b स्ट्रिंग है → इस मामले में हम नंबर (a) को स्ट्रिंग (b) से पहले रखते हैं जैसा कि प्रश्न में पूछा गया है।
  • a स्ट्रिंग है लेकिन b नंबर है → इस मामले में हम b को a से पहले रखते हैं
  • a और b दोनों स्ट्रिंग हैं → हम उस स्ट्रिंग की जांच करते हैं जो वर्णानुक्रम में छोटी है यानी पहले आती है और इसे पहले रखते हैं।

  1. - JavaScript में TypedArray.sort() फंक्शन

    TypedArray.sort() मेथड sort() मेथड TypedArray के एलिमेंट्स को स्थानांतरित (in-place) सॉर्ट करता है और उसी ऐरे को लौटाता है। डिफ़ॉल्ट रूप से यह आरोही क्रम (ascending order) में सॉर्ट करता है। सिंटैक्स typedArray.sort(compareFunction) compareFunction (वैकल्पिक) - सॉर्ट ऑर्डर निर्धारित करने वाला फंक

  1. - जावास्क्रिप्ट में मर्ज सॉर्ट बनाम क्विक सॉर्ट

    मर्ज सॉर्ट डिवाइड एंड कंक्वर तकनीक पर आधारित एक सॉर्टिंग तकनीक है। इसका सबसे खराब स्थिति में समय जटिलता O(n log n) है। लेकिन यह अतिरिक्त लागत के साथ आता है क्योंकि यह एल्गोरिदम अतिरिक्त O(n) मेमोरी लेता है। आइए देखें कि हम इस एल्गोरिदम को कैसे लागू करने जा रहे हैं। हम 2 फंक्शन बनाएंगे, mergeSort और

  1. जावास्क्रिप्ट में Array.prototype.sort() मेथड जावास्क्रिप्ट में Array.prototype.sort() मेथड

    जावास्क्रिप्ट Array.prototype.sort() मेथड का उपयोग एरे को सॉर्ट करने के लिए किया जाता है। सॉर्टिंग का क्रम अल्फाबेटिक, न्यूमेरिक, आरोही या अवरोही हो सकता है। Array.prototype.sort() मेथड के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /