Sorting Methods in JavaScript में Array के विभिन्न Data Items की Sorting के लिए reverse() व sort() Methods को Use किया जा सकता है। reverse() Method Array के सभी Locations पर Stored मानों को Reverse Order में Place कर देता है। जैसे-
[code] var values = [ 1, 2, 3, 4, 5]; values.reverse(); alert(values); //Output: 5, 4, 3, 2, 1 [/code]
sort() Method Array के सभी Elements पर Stored मानों को Ascending Order में Store कर देता है। sort() Method Sorting करने से पहले Internally String() Casting Function को Use करता है, भले ही Array के सभी Elements Number क्यों न हों। जैसे-
[code] var values = [0, 2, 4, 10, 60]; values.sort(); alert(values); //Output: 0, 1, 10, 2, 4, 60 [/code]
भले ही किसी Array के सभी Elements Sorted Order में ही क्यों न हों, sort() Method इस Order को मानों के String Equivalents के According Change करके Sorting करता है।
इसलिए हालांकि मान 10 बडा होता है 2 से, फिर भी उपरोक्त Output में हम देख सकते हैं कि मान 10 मान 2 से पहले आ रहा है क्योंकि String Representation के अनुसार मान 10 नहीं बल्कि मान 1 का Comparison मान 2 से होता है और मान 1 छोटा होता है 2 से। इसलिए उपरोक्त Output में मान 10, मान 2 से पहले Place हो रहा है।
हम समझ सकते हैं कि उपरोक्त Ascending Order वह नहीं है, जो हम चाहते हैं। क्योंकि Numbers के Ascending Order में मान 10, मान 2 से पहले नहीं आ सकता। इसलिए sort() Method हमें Comparison Function Pass करने की सुविधा देता है, ताकि ये निश्चित हो सके कि Array की Sorting के दौरान Array में कौनसा मान पहले Place होगा और कौनसा बाद में।
एक Comparison Function दो Arguments Accept करता है और यदि पहला Argument, दूसरे Argument से पहले आना चाहिए, तो ये Comparison Function एक Negative Value Return करता है।
जबकि दोनों Arguments का मान बराबर होने की स्थिति में ये Function Zero Return करता है या यदि पहला Argument Array में पहले आना होता है, तो ये Comparison Function Positive मान Return करता है। एक Simple Comparison Function को हम निम्न उदाहरण द्वारा समझ सकते हैं:
[code] function compare(value1, value2) { if(value1 < value2) { return -1; } else if (value1 > value2) { return 1; } else { return 0; } } [/code]
ये Comparison Method लगभग सभी Data Types के साथ समान रूप से काम करता है और हमें इसे sort() Method में निम्नानुसार Pass करना होता है:
[code] var values = [0, 2, 4, 10, 60]; values.sort(compare); alert(values); //Output: 0, 1, 2, 4, 10, 60 [/code]
जब compare Function को sort() Method में Argument के रूप में Pass करते हैं, तो जैसाकि हम Output में देख सकते हैं हमें Correct Order में Numbers Return होते हैं।
इसी प्रकार से हम reverse() Method के लिए भी निम्नानुसार एक compare Function Create कर सकते हैं ताकि reverse() Method भी Correct Descending Order में Array को Sort करे-
[code] function compare(value1, value2) { if(value1 < value2) { return 1; } else if (value1 > value2) { return -1; } else { return 0; } } var values = [0, 1, 5, 10, 15]; values.sort(compare); alert(values); //Output: 15,10,5,1,0 [/code]
reverse()व sort() दोनों ही Methods उस Array का Reference Return करते हैं, जिसके साथ इन Methods को Use किया गया होता है।
जब किसी केवल Numeric Values के Array के साथ काम करना चाहते हैं, तब हम निम्नानुसार compare() Function का सरल Version Create कर सकते हैं, जिसमें हम पहले Argument को दूसरे Argument में से घटाते हैं और compare() Function Positive, Negative या Zero Return होता है:
[code] function compare(value1, value2) { return value2 – value1; } [/code]
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance JavaScript in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Advance JavaScript in Hindi | Page: 669 | Format: PDF