मैं समझने की कोशिश कर रहा हूं कि वास्तव में कैसे क्रमबद्ध() काम करता है और मुझे इसका उपयोग कैसे करना है।सॉर्ट(), सॉर्ट (फ़ंक्शन (ए, बी) {रिटर्न ए-बी;}) के बीच अंतर; और क्रमबद्ध करें (फ़ंक्शन (ए, बी) {...})
मैंने कुछ शोध किया (google) और स्टैक ओवरफ्लो पर इसी तरह के प्रश्नों के माध्यम से चला गया, लेकिन अभी भी कुछ चीजें हैं जो मुझे 100% स्पष्ट नहीं हैं।
तो मेरी समझ अब तक है निम्नलिखित:
हैं: प्रकार स्ट्रिंग का ही सरल सरणियों मूल्यों वर्णानुक्रम और आरोही क्रम में:
प्रकार (पैरामीटर के बिना)
ईजी
// sort alphabetically and ascending:
var myArr=["Bob", "Bully", "Amy"]
myArr.sort() // Array now becomes ["Amy", "Bob", "Bully"]
तरह() एक पैरामीटर के रूप में एक समारोह के साथ: अपने गुणों के अनुसार सरणियों में वस्तुओं सॉर्ट करता; आइटम, तथापि, एक पैरामीटर के रूप में एक समारोह के साथ संख्या
myArr.sort(function(a,b) {
return a - b;
});
तरह() के रूप में तुलना की जाती है: उनके गुणों के अनुसार सरणियों में वस्तुओं सॉर्ट करता; आइटम संख्या या स्ट्रिंग्स
myArr.sort(function(a, b) {
if (a.sortnumber < b.sortnumber) return -1;
else if (a.sortnumber > b.sortnumber) return 1;
return 0;
});
मैं सभी इन 3 प्रकार() कार्यों के साथ निम्नलिखित सरणी छँटाई करने की कोशिश की जा सकती है।
var myArr = [{
"sortnumber": 9,
"name": "Bob"
},
{
"sortnumber": 5,
"name": "Alice"
},
{
"sortnumber": 4,
"name": "John"
},
{
"sortnumber": 3,
"name": "James"
},
{
"sortnumber": 7,
"name": "Peter"
},
{
"sortnumber": 6,
"name": "Doug"
},
{
"sortnumber": 2,
"name": "Stacey"
}];
//myArr.sort(); // doesn't do anything since it doesn't know on what property to sort
/*
myArr.sort(function(a, b) {
return (a.sortnumber - b.sortnumber); // sorts array
return (a.name - b.name); // doesn't sort array
});
*/
/*
// sorts array even when I use name as property to sort on
myArr.sort(function(a, b) {
if (a.sortnumber < b.sortnumber) return -1;
else if (a.sortnumber > b.sortnumber) return 1;
return 0;
});
*/
console.log(myArr);
Here भी एक बेला है।
तो, मेरे सवाल कर रहे हैं:
- मेरी समझ सही है?
- क्या कोई ऐसी चीज है जो मुझे याद आ रही है?
- यदि तीसरा मामला हर समय काम करता है, तो क्या मैं हमेशा इसके साथ रह सकता हूं या अन्य दो मामलों में किसी भी तरह से अधिक कुशल है या तीसरे मामले के लिए कोई फायदे हैं?
यदि कोई उपरोक्त पर विस्तृत कर सकता है तो मैं वास्तव में इसकी सराहना करता हूं। धन्यवाद।
यदि आप पुराने आईई ब्राउज़र का समर्थन करने की आवश्यकता है, तो पहले या तीसरे दृष्टिकोण का उपयोग करें। – Maris
_ क्या वहां कुछ भी है जो मुझे याद आ रही है? _ ऐसे प्रश्न ऑफ-विषय हैं। यहां हम केवल ** विशिष्ट ** समस्याओं से निपटते हैं। – hindmost
@ हिंडोस्ट: क्या कोई विशिष्ट बात है कि मैं निर्दिष्ट विषय में अनुपलब्ध हूं, यह सवाल है कि प्रश्न कैसे पढ़ा जाना है। – Setily