Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में includes() और splice() से ऐरे से एलिमेंट्स कैसे हटाएं?

includes() से जांचें कि ऐरे में मान मौजूद है या नहीं, और splice() से उसे हटाएं। एक साथ कई मान हटाने के लिए फंक्शन बनाएं।

बुनियादी अवधारणा

const arr = [1, 2, 3, 4, 5];

// जांचें कि 3 मौजूद है
console.log(arr.includes(3)); // true

// इंडेक्स ढूंढकर हटाएं
const index = arr.indexOf(3);
if (index !== -1) {
    arr.splice(index, 1); // 1 एलिमेंट हटाएं
}
console.log(arr); // [1, 2, 4, 5]

पुन: प्रयोज्य फंक्शन: एकाधिक मान हटाएं

function removeElements(array, ...valuesToRemove) {
    // रिमूव करने योग्य मानों का सेट बनाएं (तेज़ लुकअप)
    const removeSet = new Set(valuesToRemove);
    
    // पीछे से लूप करें ताकि इंडेक्स शिफ्ट न हो
    for (let i = array.length - 1; i >= 0; i--) {
        if (removeSet.has(array[i])) {
            array.splice(i, 1);
        }
    }
    
    return array;
}

// उपयोग
const numbers = [80, 90, 56, 34, 79, 90, 34];
console.log("पहले:", numbers);

removeElements(numbers, 90, 34, 79);
console.log("बाद में:", numbers); 
// [80, 56]

वैकल्पिक: नई ऐरे लौटाएं (मूल अपरिवर्तित)

function removeElementsImmutable(array, ...valuesToRemove) {
    const removeSet = new Set(valuesToRemove);
    return array.filter(item => !removeSet.has(item));
}

const original = [80, 90, 56, 34, 79];
const filtered = removeElementsImmutable(original, 90, 34, 79);

console.log("मूल:", original);     // [80, 90, 56, 34, 79] - अपरिवर्तित
console.log("फिल्टर्ड:", filtered); // [80, 56]

ES6+ मॉडर्न दृष्टिकोण

// filter() के साथ - सबसे साफ
const valuesToRemove = new Set([90, 34, 79]);
const result = original.filter(x => !valuesToRemove.has(x));

// या एक लाइन में
const result = original.filter(x => ![90, 34, 79].includes(x));

चलाने का तरीका

node remove-elements.js

आउटपुट

पहले: [ 80, 90, 56, 34, 79, 90, 34 ]
बाद में: [ 80, 56 ]

महत्वपूर्ण नोट्स

  • splice() मूल ऐरे को मॉडिफाई करता है (म्यूटेट करता है)
  • पीछे से लूप करने पर इंडेक्स शिफ्ट की समस्या नहीं होती
  • Set का उपयोग includes() से तेज़ है (O(1) बनाम O(n))
  • filter() नई ऐरे बनाता है, मूल को नहीं बदलता
  1. JavaScript का उपयोग करके PriorityQueue से एलिमेंट्स हटाना JavaScript का उपयोग करके PriorityQueue से एलिमेंट्स हटाना

    PriorityQueue से एलिमेंट्स डीकीयू करने का अर्थ है उच्चतम प्राथमिकता वाले एलिमेंट को हटाना। हम उच्चतम प्राथमिकता वाले एलिमेंट्स को एरे के अंत में संग्रहीत कर रहे हैं, हम इसे बस पॉप करके डीकीयू कर सकते हैं। इसलिए, हम डीकीयू फ़ंक्शन को इस प्रकार लागू कर सकते हैं: उदाहरण dequeue() {    // जा

  1. JavaScript का उपयोग करके लिंक्ड लिस्ट से एलिमेंट्स हटाना JavaScript का उपयोग करके लिंक्ड लिस्ट से एलिमेंट्स हटाना

    लिंक्ड लिस्ट से एक एलिमेंट हटाना बहुत आसान है। हमें बस उस नोड से छुटकारा पाना है जिसे हम हटाना चाहते हैं, यानी उसका संदर्भ खो देना। हमें 3 मामलों पर विचार करने की आवश्यकता है: हेड से एलिमेंट हटाना: इस मामले में, हम बस head = head.next असाइन कर सकते हैं। इस तरह हम पहले एलिमेंट का संदर्भ खो देंगे। औ

  1. जावास्क्रिप्ट में splice() मेथड का उपयोग करके एलिमेंट्स कैसे हटाएं? जावास्क्रिप्ट में splice() मेथड का उपयोग करके एलिमेंट्स कैसे हटाएं?

    परिचय Array.splice() मेथड ऐरे से एलिमेंट्स को हटाने, जोड़ने या बदलने के लिए उपयोग किया जाता है। यह मूल ऐरे को म्यूटेट करता है और हटाए गए एलिमेंट्स का ऐरे लौटाता है। सिंटैक्स array.splice(startIndex, deleteCount, item1, item2, ...) उदाहरण निम्न कोड जावास्क्रिप्ट में splice() मेथड का उपयोग करके एलि