मान लीजिए, हमारे पास ऑब्जेक्ट्स का एक ऐरे है जिसमें सप्ताह के सात दिनों में नमी के बारे में डेटा है। डेटा, हालांकि, अभी ऐरे में बेतरतीब ढंग से बैठा है। हमें ऑब्जेक्ट्स के ऐरे को दिनों के अनुसार सॉर्ट करना है जैसे सोमवार का डेटा पहले आए, फिर मंगलवार, बुधवार और अंत में रविवार।
हमारा ऐरे निम्नलिखित है -
const weather = [{ day: 'Wednesday', humidity: 60 }, { day: 'Saturday', humidity: 50 }, { day: 'Thursday', humidity: 65 }, { day: 'Monday', humidity: 40 }, { day: 'Sunday', humidity: 35 }, { day: 'Friday', humidity: 80 }, { day: 'Tuesday', humidity: 45 }];
इस समस्या की कुंजी हमारा मैप ऑब्जेक्ट बनाना है जो सप्ताह के विशिष्ट दिनों को उनके सही सूचकांकों पर मैप करता है। यह कुछ इस तरह दिखेगा -
const map = { 'Monday': 1, 'Tuesday': 2, 'Wednesday': 3, 'Thursday': 4, 'Friday': 5, 'Saturday': 6, 'Sunday': 7 };
अब इसके स्पष्ट होने के साथ, हम Array.prototype.sort() मेथड लागू कर सकते हैं जिसमें एक कस्टम कॉलबैक पास करते हैं जो ऑब्जेक्ट्स को मैप में उनके इंडेक्स के अनुसार रैंक करता है।
इसके लिए पूरा कोड होगा -
उदाहरण
const weather = [{ day: 'Wednesday', humidity: 60 }, { day: 'Saturday', humidity: 50 }, { day: 'Thursday', humidity: 65 }, { day: 'Monday', humidity: 40 }, { day: 'Sunday', humidity: 35 }, { day: 'Friday', humidity: 80 }, { day: 'Tuesday', humidity: 45 }]; const map = { 'Monday': 1,'Tuesday': 2,'Wednesday': 3,'Thursday': 4,'Friday': 5,'Saturday': 6, 'Sunday': 7 }; weather.sort((a, b) => { return map[a.day] - map[b.day]; }); console.log(weather);
आउटपुट
इस कोड का आउटपुट होगा -
[ { day: 'Monday', humidity: 40 }, { day: 'Tuesday', humidity: 45 }, { day: 'Wednesday', humidity: 60 }, { day: 'Thursday', humidity: 65 }, { day: 'Friday', humidity: 80 }, { day: 'Saturday', humidity: 50 }, { day: 'Sunday', humidity: 35 } ]