जावास्क्रिप्ट में, ऑब्जेक्ट एक हैश तालिका में संग्रहीत कुंजी-मूल्य जोड़े हैं। किसी वस्तु से किसी विशिष्ट गुण को पुनः प्राप्त करने के लिए सटीक गुण कुंजी जानने की आवश्यकता होती है। हालाँकि, कभी-कभी किसी ऑब्जेक्ट से एक यादृच्छिक संपत्ति का चयन करना वांछनीय हो सकता है।
एक सामान्य दृष्टिकोण में ऑब्जेक्ट के गुणों पर पुनरावृत्ति करना, उन्हें गिनना और फिर उस सीमा के भीतर एक यादृच्छिक पूर्णांक उत्पन्न करना शामिल है। इस दृष्टिकोण का उपयोग करते हुए, आप लंबाई निर्धारित करने के लिए ऑब्जेक्ट पर एक बार पुनरावृत्ति करेंगे और फिर उस सूचकांक पर यादृच्छिक संपत्ति खोजने के लिए दोबारा पुनरावृत्ति करेंगे।
हालांकि, इस लक्ष्य को प्राप्त करने का एक अधिक संक्षिप्त और अक्सर तेज़ तरीका है:
var randomProperty = function (obj) {
var keys = Object.keys(obj);
return obj[keys[ keys.length * Math.random() << 0]];
};
यह दृष्टिकोण ऑब्जेक्ट.कीज़() विधि का उपयोग करता है, जो ऑब्जेक्ट में सभी संपत्ति कुंजियों की एक सरणी लौटाता है। इस सरणी की लंबाई को 1 से कम यादृच्छिक मान से गुणा करके (बिट शिफ्टिंग का उपयोग करके), हम सरणी के भीतर एक यादृच्छिक सूचकांक प्राप्त करते हैं। इस यादृच्छिक सूचकांक के साथ सरणी में अनुक्रमणिका चयनित संपत्ति कुंजी प्रदान करती है। अंत में, इस कुंजी का उपयोग करके ऑब्जेक्ट तक पहुंचने से संबंधित संपत्ति मूल्य पुनः प्राप्त होता है। ]
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3