जावास्क्रिप्ट में स्थिर सॉर्टिंग एल्गोरिदम
डेटा को सॉर्ट करते समय, समान तत्वों के मूल क्रम को संरक्षित करना स्थिर सॉर्टिंग एल्गोरिदम के लिए महत्वपूर्ण है। इस संदर्भ में, हमारा लक्ष्य तत्व क्रम की स्थिरता को बनाए रखते हुए दिए गए क्रम में एक विशिष्ट कुंजी के साथ वस्तुओं की एक श्रृंखला को क्रमबद्ध करना है।
स्थिर छँटाई तकनीक
दिलचस्प बात यह है कि, गैर-स्थिर सॉर्टिंग फ़ंक्शन स्थिर सॉर्टिंग प्राप्त कर सकते हैं। सॉर्टिंग से पहले प्रत्येक तत्व की प्रारंभिक स्थिति को कैप्चर करके, हम द्वितीयक मानदंड के रूप में स्थिति का उपयोग करके सॉर्टिंग तुलना में संबंधों को तोड़ सकते हैं।
जावास्क्रिप्ट में कार्यान्वयन
const sortBy = (arr, key, order) => {
// Capture element positions
const positions = arr.map((item, i) => {
return { item, position: i };
});
// Perform sorting
positions.sort((a, b) => {
let cmp = a.item[key].localeCompare(b.item[key]);
if (cmp === 0) {
// Tiebreaker: sort by position
cmp = a.position - b.position;
}
if (order === "desc") {
return cmp * -1;
} else {
return cmp;
}
});
// Return sorted objects
return positions.map(position => position.item);
};
उदाहरण उपयोग
const data = [
{ name: "Alice", age: 25 },
{ name: "Bob", age: 30 },
{ name: "Eve", age: 25 },
];
const sortedAscending = sortBy(data, "age", "asc");
console.log(sortedAscending); // [{ name: "Alice", age: 25 }, { name: "Eve", age: 25 }, { name: "Bob", age: 30 }]
const sortedDescending = sortBy(data, "age", "desc");
console.log(sortedDescending); // [{ name: "Bob", age: 30 }, { name: "Eve", age: 25 }, { name: "Alice", age: 25 }]
यह तकनीक स्थिर छँटाई की अनुमति देती है जावास्क्रिप्ट में, समान मूल्यों वाले तत्वों के मूल क्रम को संरक्षित करना।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3