मान लीजिए निम्नलिखित वह ऐरे है जिसे date और isImportant द्वारा सॉर्ट किया जाना है। isImportant प्रॉपर्टी true वाले सभी ऑब्जेक्ट्स, isImportant false वाले किसी भी ऑब्जेक्ट से उच्च रैंक करते हैं और दोनों समूह date प्रॉपर्टी के अनुसार सॉर्ट होते हैं।
हमारा ऐरे निम्नलिखित है:
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; } });
sort() कॉलबैक फ़ंक्शन आमतौर पर दो आर्गुमेंट्स प्राप्त करता है, मान लीजिए a और b, जो सरणी के दो एलिमेंट्स के अलावा कुछ नहीं हैं जिस पर sort() कहा गया था और कॉलबैक फ़ंक्शन सरणी के प्रत्येक संभावित जोड़ी के लिए चलता है।
कॉलबैक से -1 (कोई भी नकारात्मक मान) लौटाने का मतलब है कि हम पहले एलिमेंट को दूसरे से उच्च रैंक देते हैं।
1 (कोई भी सकारात्मक मान) लौटाने का मतलब है कि हम दूसरे एलिमेंट को पहले से उच्च रैंक देते हैं।
0 लौटाने से कोई परिवर्तन नहीं होता। हम जांचते हैं कि क्या a या b में से किसी का isImportant प्रॉपर्टी false पर सेट है, यदि हां तो हम उसे निचली रैंक देते हैं। अन्यथा, हम उन्हें उनकी date प्रॉपर्टी के अनुसार रैंक करते हैं।
उदाहरण
आइए अब पूरा उदाहरण देखें:
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 } ]