কম্পিউটার টিউটোরিয়াল

JavaScript-এ অবজেক্ট অ্যারে থেকে false ভ্যালু চেক করা (Object.values + some)

JavaScript-এ নেস্টেড অবজেক্ট অ্যারেতে কোনো প্রপার্টি `false` আছে কিনা চেক করার জন্য `Object.values()`, `some()` এবং ডি-স্ট্রাকচারিং ব্যবহার করা হয়।

ডেটা স্ট্রাকচার

const details = [
    {
        customerDetails: [
            { isMarried: true },
            { isMarried: true }
        ]
    },
    {
        customerDetails: [
            { isMarried: true },
            { isMarried: true }
        ]
    }
];

চেক কোড

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

console.log(hasFalse); // false (সব true)

চলানোর পদ্ধতি

  1. কোডটি checkFalse.js নামে সংরক্ষণ করুন।
  2. টার্মিনালে চালান: node checkFalse.js

আউটপুট

false

কোড ব্যাখ্যা

  • `Object.values(details)` - অবজেক্টের ভ্যালুগুলোকে অ্যারে বানায়।
  • বাইরের `.some()` - প্রথম লেভেল অবজেক্টে ইটারেট।
  • `{ customerDetails }` - ডি-স্ট্রাকচারিং দিয়ে প্রপার্টি বের করা।
  • ভিতরের `.some()` - `customerDetails` অ্যারেতে ইটারেট।
  • `!isMarried` - `false` হলে `true` রিটার্ন (মানে false পাওয়া গেলে)।

ট্রু ফেলসি মান পাওয়ার উদাহরণ

const mixed = [
    { items: [{ active: true }, { active: false }] },
    { items: [{ active: true }] }
];

const hasInactive = mixed.some(({ items }) => 
    items.some(({ active }) => !active)
);

console.log(hasInactive); // true (দ্বিতীয় অবজেক্টে false আছে)

সাধারণ প্যাটার্ন: যেকোনো falsy চেক

function hasFalsyValue(objArray, keyPath) {
    return objArray.some(obj => {
        // নেস্টেড পাথ রিজলভ (সিম্পল ভার্সন)
        const keys = keyPath.split('.');
        let val = obj;
        for (const k of keys) val = val?.[k];
        return !val; // falsy চেক
    });
}

console.log(hasFalsyValue(details, "customerDetails.isMarried")); // false
  1. জাভাস্ক্রিপ্টে Array.prototype.find() মেথড

  2. জাভাস্ক্রিপ্টে array.flatMap() মেথড

  3. জাভাস্ক্রিপ্টে Array.flat() মেথড

  4. জাভাস্ক্রিপ্টে Array.prototype.includes() মেথড