কম্পিউটার

জাভাস্ক্রিপ্টে একটি বস্তুর অতিরিক্ত কী থাকলে JSON অবজেক্টে কী এবং মান তুলনা করুন


ধরুন, আমাদের কাছে এই ধরনের দুটি JSON অবজেক্ট আছে -

const obj1 = {a: "apple", b: "banana", c: "carrot"};
const obj2 = {a: "apple", e: "egg", b: "banana", c: "carrot", d: "dog"};

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই ধরনের দুটি বস্তু নেয়। আমরা একটি বুলিয়ান চেক করতে সক্ষম হতে চাই যাতে দুটি বস্তুর মধ্যে একটি থেকে ডেটা সরানো ছাড়াই দুটি বস্তুর তুলনা করা যায়।

উদাহরণস্বরূপ, যদি আমি উপরের ডেটা ব্যবহার করি, তাহলে বুলিয়ান চেকটি সত্য হওয়া উচিত কারণ উভয় বস্তুতে থাকা কীগুলির মান মেলে।

যাইহোক, ধরা যাক obj1 একই থাকে কিন্তু obj2 হল নিচের −

const obj1 = {a: "apple", b: "banana", c: "carrot"}
const obj2 = {a: "ant", e: "egg", b: "banana", c: "carrot", d: "dog"}

এই ডেটার সাথে, এটি মিথ্যা প্রত্যাবর্তন করা উচিত কারণ একটি কী এর মান মেলে না যদিও অন্যান্য ক্ষেত্রগুলি মিলছে এবং কিছু ক্ষেত্র উভয় বস্তুতে উপস্থিত নেই৷

উদাহরণ

এর জন্য কোড হবে −

const obj1 = {
   a: "apple",
   b: "banana",
   c: "carrot"
}
const obj2 = {
   a: "apple",
   b: "banana",
   c: "carrot",
   d: "dog",
   e: "egg"
}
const obj3 = {a: "apple", b: "banana", c: "carrot"}
const obj4 = {a: "ant", e: "egg" ,b: "banana", c: "carrot", d: "dog"}
function checkEquality(a, b) {
   const entries1 = Object.entries(a);
   const entries2 = Object.entries(b);
   const short = entries1.length > entries2 ? entries2 : entries1;
   const long = short === entries1 ? b : a;
   const isEqual = short.every(([k, v]) => long[k] === v);
   return isEqual;
}
console.log(checkEquality(obj1, obj2))
console.log(checkEquality(obj3, obj4))

আউটপুট

এবং কনসোলে আউটপুট হবে −

true
false

  1. জাভাস্ক্রিপ্টে JSON গ্রুপ অবজেক্ট

  2. জাভাস্ক্রিপ্টে একটি অবজেক্টে কী-ভ্যালু পেয়ার হিসাবে দুটি অ্যারে কীভাবে সংরক্ষণ করবেন?

  3. কি জাভাস্ক্রিপ্ট মান ম্যাপিং

  4. জাভাস্ক্রিপ্টে একটি JSON অবজেক্ট সমতল করা