जावास्क्रिप्ट विकास में सरणियों के भीतर विशिष्ट वस्तुओं की कुशलतापूर्वक खोज करना एक मौलिक कार्य है। यह प्रक्रिया डेटा फ़िल्टरिंग, उपयोगकर्ता इनपुट सत्यापन और जटिल डेटा हेरफेर सहित विभिन्न कार्यों के लिए महत्वपूर्ण है। यह लेख इसे प्राप्त करने के दो प्राथमिक तरीकों का पता लगाता है: find()
विधि का लाभ उठाना और filter()
विधि का उपयोग करना, प्रत्येक आपकी विशिष्ट आवश्यकताओं के आधार पर अद्वितीय शक्तियाँ प्रदान करता है।
विषयसूची
find()
विधि के साथ वस्तुओं की खोज करना
find()
विधि एक सरणी में पहली वस्तु का पता लगाने के लिए एक सुंदर और कुशल समाधान प्रदान करती है जो किसी दिए गए शर्त को पूरा करती है। यह उन परिदृश्यों के लिए आदर्श है जहाँ आपको केवल एक मिलान वस्तु प्राप्त करने की आवश्यकता है। यदि कोई मिलान नहीं मिलता है, तो find()
undefined
देता है।
उत्पाद वस्तुओं की एक सरणी पर विचार करें:
const products = [
{ id: 1, name: "Shirt", price: 25 },
{ id: 2, name: "Pants", price: 50 },
{ id: 3, name: "Shoes", price: 75 },
];
id
के बराबर 2 वाले उत्पाद को खोजने के लिए:
const foundProduct = products.find(product => product.id === 2);
console.log(foundProduct); // Output: { id: 2, name: "Pants", price: 50 }
यह संक्षिप्त कोड स्निपेट कुशलतापूर्वक पहली मिलान वस्तु देता है। मिलान मिलते ही खोज समाप्त हो जाती है, विशेष रूप से बड़ी सरणियों के साथ प्रदर्शन को अनुकूलित करती है।
filter()
विधि के साथ वस्तुओं की खोज करना
filter()
विधि एक सरणी के भीतर सभी वस्तुओं को पुनः प्राप्त करने का एक शक्तिशाली तरीका प्रदान करती है जो एक निर्दिष्ट शर्त को पूरा करती हैं। find()
के विपरीत, filter()
सभी मिलान वस्तुओं वाली एक नई सरणी देता है। यदि कोई वस्तु मेल नहीं खाती है, तो एक खाली सरणी वापस की जाती है।
समान products
सरणी का उपयोग करके, आइए 50 या उससे अधिक की कीमत वाले सभी उत्पादों को खोजें:
const expensiveProducts = products.filter(product => product.price >= 50);
console.log(expensiveProducts); // Output: [{ id: 2, name: "Pants", price: 50 }, { id: 3, name: "Shoes", price: 75 }]
यह प्रभावी रूप से सरणी को फ़िल्टर करता है, केवल उन उत्पादों वाली एक नई सरणी देता है जो निर्दिष्ट शर्त को पूरा करते हैं। यह विशेष रूप से तब उपयोगी होता है जब आपको कई मिलान वस्तुओं के साथ काम करने की आवश्यकता होती है।
सही विधि चुनना
find()
और filter()
के बीच इष्टतम विकल्प आपकी विशिष्ट आवश्यकताओं पर निर्भर करता है:
- जब आपको केवल पहली मिलान वस्तु प्राप्त करने की आवश्यकता हो तो
find()
का उपयोग करें। यह एकल-परिणाम खोजों के लिए अधिक कुशल है। - जब आपको किसी दी गई शर्त को पूरा करने वाली सभी वस्तुओं को पुनः प्राप्त करने की आवश्यकता हो तो
filter()
का उपयोग करें। यह कई मिलानों से जुड़े परिदृश्यों के लिए आवश्यक है।