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

JavaScript में ऐरे एलिमेंट में false मान की जांच कैसे करें?

नेस्टेड ऑब्जेक्ट्स/ऐरे में false मान की जांच के लिए Object.values(), some(), every() का संयोजन उपयोग करें।

डेटा स्ट्रक्चर

const details = [
    {
        customerDetails: [
            { isMarried: true },
            { isMarried: true }
        ]
    },
    {
        customerDetails: [
            { isMarried: true },
            { isMarried: false }  // यह false है
        ]
    }
];

विधि 1: some() + Object.values() (मूल उदाहरण)

const hasFalse = Object.values(details).some(({ customerDetails }) => 
    customerDetails.some(({ isMarried }) => !isMarried)
);

console.log(hasFalse); // true (क्योंकि एक false है)

विधि 2: फ्लैटमैप के साथ (सरल)

// सभी isMarried मानों को फ्लैट ऐरे में लाएं
const allMarried = details.flatMap(d => d.customerDetails).map(c => c.isMarried);

// कोई false है?
const hasFalse = allMarried.some(v => v === false);
// या सभी true हैं?
const allTrue = allMarried.every(v => v === true);

console.log("सभी मान:", allMarried);      // [ true, true, true, false ]
console.log("कोई false?", hasFalse);      // true
console.log("सभी true?", allTrue);        // false

विधि 3: रिकर्सिव डीप चेक (किसी भी नेस्टिंग लेवल के लिए)

function hasFalseValue(obj) {
    if (obj === false) return true;
    if (obj === null || typeof obj !== 'object') return false;
    
    if (Array.isArray(obj)) {
        return obj.some(hasFalseValue);
    }
    
    return Object.values(obj).some(hasFalseValue);
}

console.log(hasFalseValue(details)); // true
console.log(hasFalseValue({ a: { b: { c: true } } })); // false
console.log(hasFalseValue({ a: [1, 2, false] })); // true

विधि 4: JSON.stringify ट्रिक (त्वरित जांच)

// केवल प्रिमिटिव false के लिए (ऑब्जेक्ट false नहीं)
const hasFalse = JSON.stringify(details).includes('false');
console.log(hasFalse); // true

// चेतावनी: "false" स्ट्रिंग भी मिल जाएगी
console.log(JSON.stringify({ a: "false" }).includes('false')); // true (गलत पॉजिटिव)

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

node check-false.js

आउटपुट

false

(मूल उदाहरण में सभी true थे, इसलिए false आउटपुट हुआ)

संशोधित उदाहरण आउटपुट (एक false के साथ)

true

सारांश

स्थितिबेस्ट मेथड
ज्ञात स्ट्रक्चरflatMap().some()
अज्ञात/डीप नेस्टिंगरिकर्सिव फंक्शन
त्वरित जांचJSON.stringify().includes('false')
पहला false ढूंढेंfind() या रिकर्सिव
  1. JavaScript में array.flatmap() मेथड JavaScript में array.flatmap() मेथड

    JavaScript array.flatMap() फंक्शन दिए गए नेस्टेड ऐरे को एक नए फ्लैट ऐरे में समतल करता है। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /

  1. JavaScript में Array.flat() मेथड JavaScript में Array.flat() मेथड

    JavaScript Array.flat() मेथड का उपयोग एक ऐरे को निर्दिष्ट गहराई तक रिकर्सिवली फ्लैट करने के लिए किया जाता है। यह मूल ऐरे में हेरफेर नहीं करता बल्कि एक नया फ्लैट ऐरे बनाता है। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta

  1. JavaScript में Array.prototype.includes() मेथड JavaScript में Array.prototype.includes() मेथड

    JavaScript Array.prototype.includes() मेथड का उपयोग यह जांचने के लिए किया जाता है कि कोई ऐरे दिए गए एलिमेंट को शामिल करता है या नहीं। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="w