निम्नलिखित को दिनांक के अनुसार क्रमबद्ध करने के लिए सरणी होने दें और यह महत्वपूर्ण है। किसी भी ऑब्जेक्ट की तुलना में किसी भी ऑब्जेक्ट की तुलना में महत्वपूर्ण संपत्ति के साथ सभी ऑब्जेक्ट ट्रू रैंक महत्वपूर्ण है और दोनों समूहों को दिनांक संपत्ति के अनुसार क्रमबद्ध किया गया है।
हमारा एरे निम्नलिखित है -
const array = [{
id: 545,
date: 591020824000,
isImportant: false,
},
{
id: 322,
date: 591080224000,
isImportant: false,
},
{
id: 543,
bdate: 591080424000,
isImportant: true,
},
{
id: 423,
date: 591080225525,
isImportant: false,
},
{
id: 135,
date: 591020225525,
isImportant: true,
},
]; उसके बाद, हम उपरोक्त सरणी पर वांछित परिणाम प्राप्त करने के लिए इस तरह से सरणी सॉर्ट विधि का उपयोग कर सकते हैं -
array.sort((a, b) => {
if(a.isImportant && !b.isImportant){
return -1;
}else if(!a.isImportant && b.isImportant){
return 1;
}else{
return b.date-a.date;
}
}); सॉर्ट () कॉलबैक फ़ंक्शन आमतौर पर दो तर्क प्राप्त करता है, ए और बी, जो सरणी के दो तत्वों के अलावा कुछ भी नहीं है जिस पर सॉर्ट () को कॉल किया गया था और कॉलबैक फ़ंक्शन सरणी के तत्वों की प्रत्येक संभावित जोड़ी के लिए चलता है।
कॉलबैक से रिटर्न -1 (कोई भी नकारात्मक मान) का अर्थ है कि हम पहले तत्व को सेकेंड से अधिक रैंक करते हैं।
कॉलबैक से 1 (कोई भी सकारात्मक मान) लौटाने का मतलब है कि हम दूसरे तत्व को पहले की तुलना में उच्च रैंक देते हैं।
रिटर्निंग 0 कोई बदलाव नहीं करता है। हम जाँचते हैं कि क्या a या b में से कोई भी महत्वपूर्ण संपत्ति गलत है, यदि हाँ तो हम उस एक को नीचे रखते हैं। अन्यथा, हम उन्हें उनकी dateproperty के अनुसार रैंक करते हैं।
उदाहरण
आइए अब पूरा उदाहरण देखें -
const array = [{
id: 545,
date: 591020824000,
isImportant: false,
},
{
id: 322,
date: 591080224000,
isImportant: false,
},
{
id: 543,
bdate: 591080424000,
isImportant: true,
},
{
id: 423,
date: 591080225525,
isImportant: false,
},
{
id: 135,
date: 591020225525,
isImportant: true,
},
];
array.sort((a, b) => {
if(a.isImportant && !b.isImportant){
return -1;
}else if(!a.isImportant && b.isImportant){
return 1;
}else{
return b.date-a.date;
}
});
console.log(array); आउटपुट
कंसोल में कोड का आउटपुट होगा -
[
{ id: 3, date: 591080424000, isImportant: true },{ id: 5, date: 591020225525, isImportant: true },
{ id: 4, date: 591080225525, isImportant: false },{ id: 2, date: 591080224000, isImportant: false },
{ id: 1, date: 591020824000, isImportant: false }
]