JavaScript: मालमत्तेच्या मूल्यानुसार ऑब्जेक्ट्सची ॲरे क्रमवारी लावणे

JavaScript: मालमत्तेच्या मूल्यानुसार ऑब्जेक्ट्सची ॲरे क्रमवारी लावणे
JavaScript

स्ट्रिंग प्रॉपर्टीनुसार JavaScript ऑब्जेक्ट्सची क्रमवारी लावणे

जावास्क्रिप्टमध्ये ऑब्जेक्टचे ॲरे क्रमवारी लावणे हे एक सामान्य काम आहे, विशेषत: विशिष्ट क्रमाने प्रदर्शित करण्याची आवश्यकता असलेल्या डेटासह काम करताना. एका विशिष्ट परिस्थितीमध्ये आडनाव किंवा शीर्षक यासारख्या स्ट्रिंग प्रॉपर्टी मूल्यानुसार ऑब्जेक्ट्सची ॲरे क्रमवारी लावणे समाविष्ट असते.

या लेखात, स्ट्रिंग प्रॉपर्टीच्या मूल्यानुसार JavaScript ऑब्जेक्ट्सची ॲरे कशी क्रमवारी लावायची ते आम्ही एक्सप्लोर करू. आम्ही `sort()` पद्धतीच्या वापराचे परीक्षण करू आणि ऑब्जेक्ट्समध्ये `toString()` पद्धत जोडणे यासारख्या अतिरिक्त पायऱ्या आवश्यक आहेत का यावर चर्चा करू.

आज्ञा वर्णन
sort(function(a, b) {...}) विशिष्ट निकषांवर आधारित ॲरे घटकांचा क्रम निर्धारित करण्यासाठी सानुकूल क्रमवारी फंक्शन परिभाषित करते.
localeCompare() वर्तमान लोकॅलमधील दोन स्ट्रिंगची तुलना करते, संदर्भ स्ट्रिंग आधी किंवा नंतर येते किंवा दिलेल्या स्ट्रिंग सारखीच आहे हे दर्शवणारी संख्या मिळवते.
console.log() कन्सोलवर माहिती आउटपुट करते, विशेषत: डीबगिंग हेतूंसाठी.

जावास्क्रिप्ट ऑब्जेक्ट सॉर्टिंगचे तपशीलवार स्पष्टीकरण

वर दिलेल्या स्क्रिप्ट्स जावास्क्रिप्ट ऑब्जेक्ट्सच्या ॲरेला स्ट्रिंग प्रॉपर्टीच्या मूल्यानुसार क्रमवारी लावण्यासाठी डिझाइन केल्या आहेत last_nom. पहिल्या उदाहरणात, आम्ही वापरतो पद्धत, जी आम्हाला सानुकूल क्रमवारी फंक्शन परिभाषित करण्यास अनुमती देते. हे कार्य तुलना करते last_nom प्रत्येक वस्तूची मालमत्ता. जर पहिली वस्तू असेल last_nom दुसऱ्या ऑब्जेक्ट पेक्षा कमी आहे last_nom, ते -1 परत करते, हे दर्शविते की पहिली वस्तू दुसऱ्याच्या आधी आली पाहिजे. जर पहिली वस्तू असेल last_nom जास्त आहे, ते 1 मिळवते, म्हणजे पहिली वस्तू दुसऱ्या नंतर आली पाहिजे. जर ते समान असतील, तर ते 0 मिळवते, जे दर्शविते की त्यांची स्थिती अपरिवर्तित राहिली पाहिजे.

दुसरी स्क्रिप्ट अधिक संक्षिप्त ES6 वाक्यरचना वापरते. द localeCompare() मध्ये पद्धत वापरली जाते तुलना करण्यासाठी कार्य last_nom वस्तूंचे गुणधर्म. ही पद्धत एक संख्या दर्शवते जी स्ट्रिंग आधी, नंतर किंवा वर्तमान लोकेलमधील दुसऱ्या स्ट्रिंगसारखी आहे की नाही हे दर्शवते. द फंक्शनचा वापर दोन्ही स्क्रिप्टमध्ये पडताळणीसाठी कन्सोलमध्ये क्रमबद्ध ॲरे आउटपुट करण्यासाठी केला जातो. दोन्ही पद्धती प्रभावीपणे ऑब्जेक्ट्सच्या ॲरेची क्रमवारी लावतात last_nom प्रॉपर्टी, JavaScript मध्ये ऑब्जेक्ट प्रॉपर्टी सॉर्टिंग कसे हाताळायचे याचे प्रात्यक्षिक.

JavaScript मध्ये स्ट्रिंग प्रॉपर्टीनुसार ऑब्जेक्ट्सच्या ॲरेची क्रमवारी लावणे

क्लायंट-साइड JavaScript

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

ES6 सिंटॅक्स वापरून स्ट्रिंग प्रॉपर्टीनुसार ऑब्जेक्ट्सची ॲरे क्रमवारी लावणे

ES6 JavaScript

JavaScript मध्ये स्ट्रिंग प्रॉपर्टीनुसार ऑब्जेक्ट्सच्या ॲरेची क्रमवारी लावणे

क्लायंट-साइड JavaScript

var objs = [
    {first_nom: 'Laszlo', last_nom: 'Jamf'},
    {first_nom: 'Pig', last_nom: 'Bodine'},
    {first_nom: 'Pirate', last_nom: 'Prentice'}
];

objs.sort(function(a, b) {
    if (a.last_nom < b.last_nom) {
        return -1;
    }
    if (a.last_nom > b.last_nom) {
        return 1;
    }
    return 0;
});

console.log(objs);

ES6 सिंटॅक्स वापरून स्ट्रिंग प्रॉपर्टीनुसार ऑब्जेक्ट्सची ॲरे क्रमवारी लावणे

ES6 JavaScript

JavaScript मध्ये ऑब्जेक्ट्सची क्रमवारी लावण्यासाठी प्रगत तंत्रे

JavaScript मध्ये स्ट्रिंग प्रॉपर्टीनुसार ऑब्जेक्ट्सच्या ॲरेची क्रमवारी लावताना, त्यातील गुंतागुंत समजून घेणे आवश्यक आहे. पद्धत डीफॉल्टनुसार, द पद्धत घटकांची स्ट्रिंग म्हणून क्रमवारी लावते. संख्या किंवा विशेष वर्ण हाताळताना यामुळे अनपेक्षित परिणाम होऊ शकतात. अचूक क्रमवारी सुनिश्चित करण्यासाठी, विशेषत: स्ट्रिंग गुणधर्मांसह, तुम्ही सानुकूल तुलना कार्य वापरावे. च्या व्यतिरिक्त localeCompare(), केस संवेदनशीलता हाताळण्यासाठी आणखी एक उपयुक्त तंत्र आहे. JavaScript ची स्ट्रिंग तुलना डीफॉल्टनुसार केस-संवेदी आहे, म्हणून 'a' 'A' पेक्षा कमी मानला जाईल. हे टाळण्यासाठी, तुम्ही तुमच्या तुलना फंक्शनमध्ये सर्व स्ट्रिंग्स लोअर किंवा अप्पर केसमध्ये रूपांतरित करू शकता.

विचारात घेण्यासारखे आणखी एक महत्त्वाचे पैलू म्हणजे एकाधिक गुणधर्मांनुसार क्रमवारी लावणे. उदाहरणार्थ, दोन वस्तू समान असल्यास last_nom मूल्य, आपण त्यांना पुढील क्रमवारी लावू इच्छित असाल १५. अतिरिक्त अटी समाविष्ट करण्यासाठी सानुकूल तुलना कार्याचा विस्तार करून हे साध्य केले जाऊ शकते. असे बहु-स्तरीय वर्गीकरण सुनिश्चित करते की डेटा सर्वसमावेशकपणे ऑर्डर केला जातो, अधिक अर्थपूर्ण परिणाम प्रदान करतो. ही प्रगत क्रमवारी तंत्रे समजून घेऊन आणि लागू करून, तुम्ही JavaScript मध्ये अधिक जटिल डेटा क्रमवारीची परिस्थिती प्रभावीपणे हाताळू शकता.

JavaScript ऑब्जेक्ट्सची क्रमवारी लावण्यासाठी सामान्य प्रश्न

  1. तुम्ही स्ट्रिंग प्रॉपर्टीनुसार ऑब्जेक्ट्सच्या ॲरेची क्रमवारी कशी लावता?
  2. वापरा सानुकूल तुलना कार्यासह पद्धत, वापरणे localeCompare() स्ट्रिंग तुलनासाठी.
  3. JavaScript क्रमवारी केस-संवेदनशील आहे का?
  4. होय, डीफॉल्टनुसार. हे टाळण्यासाठी तुलना फंक्शनमध्ये स्ट्रिंगला लोअर किंवा अप्पर केसमध्ये रूपांतरित करा.
  5. तुम्ही एकाधिक गुणधर्मांनुसार वर्गीकरण कसे हाताळाल?
  6. दुय्यम गुणधर्मांनुसार क्रमवारी लावण्यासाठी अतिरिक्त अटी समाविष्ट करण्यासाठी सानुकूल तुलना कार्याचा विस्तार करा.
  7. तुम्हाला ए जोडण्याची गरज आहे का १८ तुमच्या वस्तूंची क्रमवारी लावण्याची पद्धत?
  8. नाही, सानुकूल तुलना कार्य वापरणे पुरेसे आहे.
  9. काय localeCompare() करा?
  10. हे सध्याच्या लोकेलमधील दोन स्ट्रिंगची तुलना करते आणि त्यांचा क्रम दर्शविणारी संख्या मिळवते.
  11. त्याच पद्धतीचा वापर करून तुम्ही वस्तूंची संख्यात्मक गुणधर्मांनुसार क्रमवारी लावू शकता का?
  12. होय, तुम्ही संख्यात्मक तुलना हाताळण्यासाठी तुलना कार्य सानुकूलित करू शकता.
  13. तुम्ही क्रमबद्ध ॲरे आउटपुट कसे करता?
  14. वापरा पडताळणीसाठी कन्सोलवर क्रमबद्ध ॲरे मुद्रित करण्यासाठी.
  15. तुलना कार्यामध्ये परताव्याच्या मूल्यांचे महत्त्व काय आहे?
  16. ते घटकांचा क्रम निर्धारित करतात: -1 पेक्षा कमी, 1 पेक्षा जास्त आणि 0 समान.

JavaScript मध्ये ऑब्जेक्ट सॉर्टिंग अप गुंडाळणे

JavaScript मधील स्ट्रिंग प्रॉपर्टीनुसार ऑब्जेक्ट्सच्या ॲरेची क्रमवारी लावणे हे वापरून कार्यक्षमतेने साध्य केले जाऊ शकते. सानुकूल तुलना कार्यासह पद्धत. फायदा करून localeCompare() आणि केस संवेदनशीलता हाताळणे, आपण अचूक आणि अर्थपूर्ण डेटा क्रमवारी सुनिश्चित करू शकता. ही तंत्रे समजून घेतल्याने डेटाचे चांगले हाताळणी आणि सादरीकरण शक्य होते, अधिक जटिल परिस्थिती सहजतेने पूर्ण होतात. याव्यतिरिक्त, अनेक गुणधर्मांनुसार क्रमवारी लावल्याने परिष्कृततेचा आणखी एक स्तर जोडला जातो, ज्यामुळे क्रमवारी केलेले आउटपुट अधिक संबंधित आणि व्यवस्थित होते.