JavaScript Fundamentals

जावास्क्रिप्ट में कुशल सरणी मान जाँच

Spread the love

जावास्क्रिप्ट एक सरणी में किसी विशिष्ट मान की उपस्थिति जांचने के कई कुशल तरीके प्रदान करता है। सबसे उपयुक्त तरीका आपकी आवश्यकताओं पर निर्भर करता है – एक साधारण उपस्थिति जांच बनाम शर्तों या कई मिलानों को शामिल करने वाली अधिक जटिल खोज।

विषयवस्तु की तालिका

सरल मान जाँच के लिए .includes() का उपयोग करना

यह जांचने के लिए कि क्या कोई सरणी में कोई विशिष्ट मान है, .includes() विधि सबसे सरल और अक्सर सबसे कुशल समाधान प्रदान करती है। यदि मान मौजूद है तो यह true देता है और अन्यथा false देता है।


const numbers = [1, 2, 3, 4, 5];
const target = 3;

if (numbers.includes(target)) {
  console.log(`सरणी में ${target} शामिल है`);
} else {
  console.log(`सरणी में ${target} शामिल नहीं है`);
}

सशर्त खोजों के लिए .find() का उपयोग करना

जब आपको इसके सटीक मान के बजाय किसी विशिष्ट स्थिति के आधार पर किसी तत्व का पता लगाने की आवश्यकता होती है, तो .find() विधि आदर्श होती है। यह पहला तत्व देता है जो प्रदान किए गए परीक्षण फ़ंक्शन को संतुष्ट करता है, या यदि कोई मिलान नहीं मिलता है तो undefined देता है।


const objects = [
  { id: 1, name: 'Apple' },
  { id: 2, name: 'Banana' },
  { id: 3, name: 'Orange' }
];

const foundObject = objects.find(obj => obj.name === 'Banana');

if (foundObject) {
  console.log('पाया गया:', foundObject);
} else {
  console.log('ऑब्जेक्ट नहीं मिला');
}

एकाधिक मिलानों के लिए .filter() का उपयोग करना

किसी विशिष्ट स्थिति से मेल खाने वाले सभी तत्वों को पुनः प्राप्त करने के लिए, .filter() विधि का प्रयोग करें। यह एक नई सरणी देता है जिसमें वे सभी तत्व होते हैं जो परीक्षण पास करते हैं।


const numbers = [1, 2, 3, 2, 4, 2, 5];
const target = 2;

const filteredNumbers = numbers.filter(number => number === target);

if (filteredNumbers.length > 0) {
  console.log(`${target} के ${filteredNumbers.length} उदाहरण मिले`);
} else {
  console.log(`${target} का कोई उदाहरण नहीं मिला`);
}

एक वैकल्पिक दृष्टिकोण: .indexOf() का उपयोग करना

.indexOf() विधि किसी मान की पहली घटना का अनुक्रमणिका देता है। -1 का एक वापसी मान इंगित करता है कि मान अनुपस्थित है। जबकि कार्यात्मक, .includes() आम तौर पर सरल उपस्थिति जांच के लिए बेहतर पठनीयता प्रदान करता है।


const numbers = [1, 2, 3, 4, 5];
const target = 3;

const index = numbers.indexOf(target);

if (index !== -1) {
  console.log(`${target} अनुक्रमणिका ${index} पर मिला`);
} else {
  console.log(`${target} नहीं मिला`);
}

for लूप का उपयोग करना (कम अनुशंसित)

for लूप के साथ मैन्युअल रूप से पुनरावृति करना संभव है, लेकिन आम तौर पर अंतर्निहित विधियों की तुलना में कम कुशल और कम पठनीय है। जब तक आपके पास उनसे बचने का कोई प्रबल कारण न हो, अंतर्निहित विधियों का उपयोग करने की सलाह दी जाती है।


const numbers = [1, 2, 3, 4, 5];
const target = 3;
let found = false;

for (let i = 0; i < numbers.length; i++) {
  if (numbers[i] === target) {
    found = true;
    break;
  }
}

if (found) {
  console.log(`${target} मिला`);
} else {
  console.log(`${target} नहीं मिला`);
}

प्रदर्शन पर विचार

सरल उपस्थिति जांच के लिए, .includes() आम तौर पर सबसे कुशल और पठनीय है। .find() और .filter() शर्तों के आधार पर खोजों के लिए या सभी मिलान तत्वों को पुनः प्राप्त करने के लिए सबसे उपयुक्त हैं। जब तक बिल्कुल आवश्यक न हो, for लूप से बचें, क्योंकि अंतर्निहित विधियों को प्रदर्शन के लिए अनुकूलित किया गया है।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *