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

मैं किसी ऑब्जेक्ट की आईडी प्रॉपर्टी के आधार पर एक ऐरे प्रविष्टि को कुशलतापूर्वक कैसे ढूंढ सकता हूं?

2024-12-23 को प्रकाशित
ब्राउज़ करें:693

How Can I Efficiently Find an Array Entry Based on an Object\'s ID Property?

ऑब्जेक्ट गुणों के आधार पर सरणी प्रविष्टियों की पहचान करना

ऑब्जेक्ट्स की एक सरणी पर विचार करें, प्रत्येक में एक "आईडी" संपत्ति होती है। वेरिएबल "$v" में संग्रहीत एक विशिष्ट "आईडी" मान से संबंधित प्रविष्टि का पता लगाने के लिए, हम कई तरीकों का पता लगाते हैं:

1। पुनरावृत्तीय खोज

इसमें सरणी के माध्यम से क्रमिक रूप से पुनरावृत्ति करना शामिल है, प्रत्येक ऑब्जेक्ट की "आईडी" संपत्ति की वांछित मान "$v" से तुलना करना।

$item = null;
foreach($array as $struct) {
    if ($v == $struct->ID) {
        $item = $struct;
        break;
    }
}

यह विधि एक बार की खोजों के लिए उपयुक्त है, लेकिन बड़े डेटासेट के लिए अक्षम हो सकती है।

2. हैशमैप दृष्टिकोण

वैकल्पिक रूप से, हम किसी अन्य सहयोगी सरणी का उपयोग करके हैशमैप का निर्माण कर सकते हैं।

$HashMap = [];
foreach ($array as $struct) {
    $HashMap[$struct->ID] = $struct;
}

$item = $HashMap[$v];

यह दृष्टिकोण कुंजी के रूप में "आईडी" मान का उपयोग करके वांछित प्रविष्टि तक सीधी पहुंच सक्षम बनाता है, लेकिन इसके लिए अतिरिक्त मेमोरी ओवरहेड की आवश्यकता होती है।

इसलिए, दृष्टिकोण का चुनाव खोज कार्यों की आवृत्ति और आकार पर निर्भर करता है।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3