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

आप अंतर्निहित समर्थन के बिना जावास्क्रिप्ट में सेट कार्यक्षमता कैसे कार्यान्वित कर सकते हैं?

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

How Can You Implement Set Functionality in JavaScript Without Built-in Support?

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

जावास्क्रिप्ट एक अंतर्निहित सेट ऑब्जेक्ट प्रदान नहीं करता है, लेकिन डेवलपर्स को अक्सर तेज़ लुकअप के साथ अद्वितीय, अव्यवस्थित मानों को संग्रहीत करने की क्षमता की आवश्यकता होती है, जोड़ने, और हटाने की क्षमताएं। कुंजियाँ मानों का प्रतिनिधित्व करती हैं, और सभी मान सत्य (या कोई गैर-शून्य मान) पर सेट होते हैं। यह दृष्टिकोण तेज़ लुकअप और विलोपन प्रदान करता है, लेकिन कुंजियों की संख्या बढ़ने पर जोड़ना धीमा हो जाता है।

ES6 सेट ऑब्जेक्ट:
यदि आपका वातावरण ES6 का समर्थन करता है (जैसे, आधुनिक ब्राउज़र या ट्रांसपिल्ड कोड), आप अंतर्निहित सेट ऑब्जेक्ट का उपयोग कर सकते हैं। इसमें सभी सेट संचालन के लिए उत्कृष्ट प्रदर्शन है और इसके अतिरिक्त तत्वों पर आसान पुनरावृत्ति और स्ट्रिंग ज़बरदस्ती से बचने की अनुमति देता है।

पॉलीफिल और पूर्व-निर्मित ऑब्जेक्ट:
ऐसे वातावरण के लिए जो समर्थन नहीं करते हैं ES6, आप "ES6-Set" जैसे पॉलीफ़िल या "miniSet" या "set.js" जैसे पूर्व-निर्मित ऑब्जेक्ट का उपयोग कर सकते हैं जो ES6 सेट ऑब्जेक्ट को समान कार्यक्षमता प्रदान करते हैं। ये पुराने ब्राउज़रों या छोटे कोड पदचिह्न के साथ संगतता जैसे लाभ प्रदान करते हैं।

कार्यान्वयन विवरण:

किसी ऑब्जेक्ट का उपयोग करना:

const setObj = {}; setObj["आइटम1"] = सत्य; यदि ("item1" setObj में) {// तेज़ लुकअप कंसोल.लॉग ("आइटम मिला"); } setObj["आइटम1"] हटाएं; // तेजी से विलोपन

ES6 सेट ऑब्जेक्ट का उपयोग करना:
const setObj = {};
setObj["item1"] = true;
if ("item1" in setObj) { // fast lookup
  console.log("Item found");
}
delete setObj["item1"]; // fast deletion

const set = new Set(); set.add("आइटम1"); अगर (set.has("आइटम1")) {// तेज लुकअप कंसोल.लॉग ("आइटम मिला"); } सेट.डिलीट('आइटम1'); // तेजी से विलोपन

पॉलीफ़िल का उपयोग करना:
const setObj = {};
setObj["item1"] = true;
if ("item1" in setObj) { // fast lookup
  console.log("Item found");
}
delete setObj["item1"]; // fast deletion

"es6-सेट" से सेट आयात करें; स्थिरांक सेट = नया सेट (["आइटम1", "आइटम2"]); कंसोल.लॉग(...सेट.कीज़()); // आसान पुनरावृत्ति

पूर्व-निर्मित ऑब्जेक्ट का उपयोग करना:
const setObj = {};
setObj["item1"] = true;
if ("item1" in setObj) { // fast lookup
  console.log("Item found");
}
delete setObj["item1"]; // fast deletion

const MiniSet = new MiniSet("item1", "item2"); अगर (miniSet.has("आइटम1")) {// तेज लुकअप कंसोल.लॉग ("आइटम मिला"); } मिनीसेट.निकालें('आइटम1'); // तेजी से हटानासबसे अच्छा विकल्प आपके वातावरण में उपलब्ध विशिष्ट आवश्यकताओं और समर्थन पर निर्भर करता है। जटिल या प्रदर्शन-महत्वपूर्ण अनुप्रयोगों के लिए, ES6 सेट ऑब्जेक्ट आदर्श है। अन्यथा, किसी ऑब्जेक्ट, पॉलीफ़िल, या पूर्व-निर्मित सेट ऑब्जेक्ट का उपयोग एक उचित समाधान प्रदान कर सकता है।

नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3