जावास्क्रिप्ट ट्यूटोरियल - न्यूमेरिक ऐरे अनुक्रमित किया जा रहा
जावास्क्रिप्ट में आप के लिए एक सरणी यह वर्णानुक्रम में हल हो जाता है जब भी तरह करना चाहता हूँ. इसका मतलब यह है कि संख्या पहले अंक की संख्या प्रणाली (1 - 9) और नहीं मूल्य की तुलना में द्वारा उत्पन्न के आधार पर हल कर रहे हैं. तो अगर मैं एक 10,12,11,20,2,25,30 मूल्यों होने सरणी प्रकार चाहते 10,12,11,20,2,25,30 को हल inbuilt जावास्क्रिप्ट सरणी तरह की पद्धति का उपयोग करके जाता है.
उदाहरण - पारंपरिक ऐरे छाँटें विधि
"text/javascript" > <स्क्रिप्ट प्रकार = "पाठ / जावास्क्रिप्ट"> new Array ( 10 , 12 , 11 , 20 , 2 , 25 , 30 ) ; var अंक = नई ऐरे (10, 12, 11, 20, 2, 25, 30); ; अंक तरह. (); marks ) ; दस्तावेज़. (अंक) लिखना; <स्क्रिप्ट />
निर्गम: 10,11,12,2,20,25,30
यहाँ आप देखते हैं कि 2 संख्या 12 के बाद आ रही है और इससे पहले कि 20 की संख्या के आधार पर हल हो रहे पहले पहले अंक और अगले अंक.
तो तकनीक निम्नलिखित जावास्क्रिप्ट संख्या में एक सरणी तरह से इस्तेमाल किया जा सकता है:
बुलबुले के आधार पर छाँटें
इस पारंपरिक छँटाई सी, सी में डाटा संरचनाओं में प्रयुक्त तकनीकों में से एक है + + प्रोग्रामिंग भाषाओं. इस तकनीक में नंबर एक दूसरे को और मूल्यों को वे बदल रहे हैं पर निर्भर करता है के साथ तुलना कर रहे हैं.
उदाहरण - Bubble छाँटें तकनीक का उपयोग कर अनुक्रमित किया जा रहा"text/javascript" > <स्क्रिप्ट प्रकार = "पाठ / जावास्क्रिप्ट"> new Array ( 10 , 12 , 11 , 20 , 2 ) ; var अंक = नई ऐरे (10, 12, 11, 20, 2); var i = 0 ; i < marks . length ; i ++ ) //Hold the first element लम्बाई (var i = 0; मैं <निशान. लिए, मैं + +) / / पहले तत्व पकड़ो ( var j = i + 1 ; j < marks. length ; j ++ ) //Hold the next element from the first element (var j के लिए = + 1; j <मैं अंक. लंबाई; j + +) / / पहले तत्व से अगले तत्व पकड़ो ( Number ( marks [ i ] ) > Number ( marks [ j ] ) ) //comparing first and next element यदि संख्या (अंक ([i])> संख्या चिह्न ([j])) / / पहले और अगले तत्व की तुलना ( j ] ; tempValue = अंक [j]; = marks [ i ] ; अंक [j] = अंक [i]; = tempValue ; अंक [i] tempValue =; ) ) ) marks ) ; दस्तावेज़. (अंक) लिखना; script > </ अंक> स्क्रिप्ट </>निर्गम: 2,10,11,12,20
यहाँ आप देखते हैं कि मैं एक अस्थायी चर रहा हूँ बनाने के लिए मूल्य इतना रखना है कि डेटा विमर्श किया जा सकता है.
प्रोटोटाइप फंक्शन का उपयोग करना
Protoype जावास्क्रिप्ट में फंक्शन वस्तु के मौजूदा कार्यशीलता को ओवरराइड कर सकते हैं. तो यह तकनीक array.sort के साथ अब न्यूमेरिक तरह का ऑपरेशन कर दिए आप संख्यात्मक डेटा छँटाई के लिए कार्यक्षमता प्रदान कर सकते हैं.
उदाहरण - प्रोटोटाइप फंक्शन"text/javascript" > Array. prototype . sort = function ( ) { for ( i = 0 ; i < this . length ; i ++ ) { for ( j = i + 1 ; j < this. length ; j ++ ) { if ( Number ( this [ i ] ) > Number ( this [ j ] ) ) { tempValue = this [ j ] ; this [ j ] = this [ i ] ; this [ i ] = tempValue ; } } } } var marks = new Array ( 10 , 12 , 11 , 20 , 2 ) ; marks. sort ( ) ; document. write ( marks ) ; </ this ></ script > <स्क्रिप्ट प्रकार पाठ = "/ जावास्क्रिप्ट"> प्रोटोटाइप ऐरे.. तरह का समारोह () ((i = 0; मैं <इस लंबाई.; I + +) के लिए ((j = i 1 + के लिए, जम्मू <इस लंबाई. = ; j + +) (अगर (संख्या (यह मैं [])> (संख्या इस j [])) tempValue (= यह [जम्मू, यह j [] = यह [मैं, यह [i] tempValue =]];) ))) var अंक = नई ऐरे (10, 12, 11, 20, 2); अंक तरह. (); दस्तावेज़. (अंक) लिखना, </ इस> स्क्रिप्ट </>निर्गम: 2,10,11,12,20
यहाँ मैं इसे अंदर बुलबुले तरह की पद्धति का नाम देकर मौजूदा सरणी प्रकार विधि अधिभावी हूँ. तो अब विधि तरह. () यह संख्या और प्रकार वर्णानुक्रम में नहीं होगा.
मौजूदा छाँटें की कार्यक्षमता तरीका बदलें
इस तकनीक में हम एक सरणी प्रकार कार्य जो एक समारोह है कि कैसे सरणी तत्वों की तुलना करने पर निर्देश शामिल होंगे है एक पैरामीटर जाएगा.
उदाहरण:"text/javascript" > <स्क्रिप्ट प्रकार = "पाठ / जावास्क्रिप्ट"> a , b ) //Sort array in ascending order ArraySortAscending समारोह (बी) / / आरोही क्रम में सॉर्ट करें सरणी ( a - b ) ; वापसी (क - ख); ) a , b ) //Sort array in descending order ArraySortDescending समारोह (बी) / / अवरोही क्रम में सॉर्ट करें सरणी ( b - a ) ; वापस ख (- एक); ) new Array ( 10 , 12 , 11 , 20 , 2 ) ; var अंक = नई ऐरे (10, 12, 11, 20, 2); ArraySortAscending ) ; //This will sort the array in ascending order अंक. प्रकार (ArraySortAscending); / / यह आरोही क्रम में सरणी तरह का होगा marks + ' \n ' ) ; दस्तावेज़. (अंक + '\ n') लिखने; new Array ( 10 , 12 , 11 , 20 , 2 ) ; var अंक = नई ऐरे (10, 12, 11, 20, 2); ArraySortDescending ) ; //This will sort the array in descending order अंक. प्रकार (ArraySortDescending); / / यह आदेश उतरते में कई तरह की जाएगी marks ) ; दस्तावेज़. (अंक) लिखना; <स्क्रिप्ट />निर्गम:
2,10,11,12,20
20,12,11,10,2
















