"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एलिमेंट ऑर्डर संगति बनाए रखने के लिए जावास्क्रिप्ट में स्थिर सॉर्टिंग कैसे करें?

एलिमेंट ऑर्डर संगति बनाए रखने के लिए जावास्क्रिप्ट में स्थिर सॉर्टिंग कैसे करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:367

How to Perform Stable Sorting in JavaScript to Maintain Element Order Consistency?

जावास्क्रिप्ट में स्थिर सॉर्टिंग एल्गोरिदम

डेटा को सॉर्ट करते समय, समान तत्वों के मूल क्रम को संरक्षित करना स्थिर सॉर्टिंग एल्गोरिदम के लिए महत्वपूर्ण है। इस संदर्भ में, हमारा लक्ष्य तत्व क्रम की स्थिरता को बनाए रखते हुए दिए गए क्रम में एक विशिष्ट कुंजी के साथ वस्तुओं की एक श्रृंखला को क्रमबद्ध करना है।

स्थिर छँटाई तकनीक

दिलचस्प बात यह है कि, गैर-स्थिर सॉर्टिंग फ़ंक्शन स्थिर सॉर्टिंग प्राप्त कर सकते हैं। सॉर्टिंग से पहले प्रत्येक तत्व की प्रारंभिक स्थिति को कैप्चर करके, हम द्वितीयक मानदंड के रूप में स्थिति का उपयोग करके सॉर्टिंग तुलना में संबंधों को तोड़ सकते हैं।

जावास्क्रिप्ट में कार्यान्वयन

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 }]

यह तकनीक स्थिर छँटाई की अनुमति देती है जावास्क्रिप्ट में, समान मूल्यों वाले तत्वों के मूल क्रम को संरक्षित करना।

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: 1729255218 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] पर संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3