हमारे पास इस तरह की एक सरणी है -
const arr =[{साल:2020, महीना:'जनवरी'}, { साल:2017, महीना:'मार्च'}, { साल:2010, महीना:'जनवरी'}, { साल:2010, महीना:'दिसंबर'}, { साल:2020, महीना:'अप्रैल'}, { साल:2017, महीना:'अगस्त'}, { साल:2010, महीना:'फरवरी'}, { साल:2020, महीना:'अक्टूबर' '}, { साल:2017, महीना:'जून'}]
हमें इस सरणी को वर्षों के अनुसार आरोही क्रम (बढ़ते क्रम) में क्रमबद्ध करना है। इसके अलावा, यदि एक ही वर्ष की संपत्ति के साथ दो वस्तुएं मौजूद हैं, तो हमें उन वर्षों को महीने के अनुसार क्रमबद्ध करना होगा (जैसे जनवरी, फिर फरवरी, फिर मार्च और इसी तरह)।
तो, चलिए इस सॉर्टिंग समस्या के लिए कोड लिखते हैं। इसके लिए पूरा कोड होगा -
उदाहरण
const arr =[{साल:2020, महीना:'जनवरी'}, { साल:2017, महीना:'मार्च'}, { साल:2010, महीना:'जनवरी'}, { साल:2010, महीना:'दिसंबर'}, { साल:2020, महीना:'अप्रैल'}, { साल:2017, महीना:'अगस्त'}, { साल:2010, महीना:'फरवरी'}, { साल:2020, महीना:'अक्टूबर' '}, {वर्ष:2017, महीना:'जून'}]अगस्त महीने =['जनवरी', 'फरवरी', 'मार्च', 'अप्रैल', 'मई', 'जून', 'जुलाई', 'अगस्त' , 'सितंबर', 'अक्टूबर', 'नवंबर', 'दिसंबर']; कॉन्स्ट सॉर्टर =(ए, बी) => {अगर (ए। वर्ष! ==बी। वर्ष) {वापसी ए। वर्ष - बी.वर्ष; }else{ वापसी महीने.indexOf(a.month) -months.indexOf(b.month); };};arr.sort(sorter);console.log(arr);
हम जाँचते हैं कि क्या वर्ष अलग-अलग हैं, हम उन्हें वर्षों के अनुसार क्रमबद्ध करते हैं, लेकिन जब वर्ष समान होते हैं, तो हम अपने द्वारा परिभाषित कस्टम महीनों की सरणी की मदद से महीनों की जाँच करते हैं और इस तरह, उसी वर्ष वाली वस्तुओं को महीनों के अनुसार क्रमबद्ध किया जाता है।
आउटपुट
कंसोल में आउटपुट होगा -
<पूर्व>[ { वर्ष:2010, माह:'जनवरी'}, {वर्ष:2010, महीना:'फरवरी'}, {वर्ष:2010, महीना:'दिसंबर'}, {वर्ष:2017, महीना:'मार्च' }, {वर्ष:2017, महीना:'जून'}, {वर्ष:2017, महीना:'अगस्त'}, {वर्ष:2020, महीना:'जनवरी'}, {वर्ष:2020, महीना:'अप्रैल'}, { साल:2020, महीना:'अक्टूबर' }]