কীভাবে জাভাস্ক্রিপ্টে অ্যারে তুলনা করবেন - রহস্য উদ্ঘাটিত!

জাভাস্ক্রিপ্টে, দুটি অ্যারের তুলনা করার জন্য আমাদের পরীক্ষা করতে হবে যে উভয় অ্যারের দৈর্ঘ্য একই, এতে উপস্থিত অবজেক্টগুলি একই ধরণের এবং একটি অ্যারের প্রতিটি আইটেম ভিন্ন অ্যারের কাউন্টারপার্টের সমান।

এই নিবন্ধে, আমরা আলোকপাত করেছি ' কীভাবে জাভাস্ক্রিপ্টে অ্যারে তুলনা করবেন

সমতা নির্ধারণের জন্য অ্যারেগুলির তুলনা করা প্রয়োজন হতে পারে। জাভাস্ক্রিপ্টের অ্যারেগুলি C বা C++-এর অ্যারের থেকে আলাদা।



জাভাস্ক্রিপ্টে অ্যারেগুলির একটি সংখ্যা বা একটি পাঠ্য সূচক থাকতে পারে। সংখ্যাযুক্ত সূচক ব্যবহার করা, ট্র্যাভার্সিং এবং অ্যারে তুলনা করা সহজ কিন্তু পাঠ্য সূচীতে এটি জটিল।

চলুন দেখে নেই সম্ভাব্য কিছু উপায় অ্যারে তুলনা করুন বিভিন্ন পরিস্থিতিতে:

  • অ্যারেগুলির একটি সংখ্যাযুক্ত সূচক রয়েছে এবং দৈর্ঘ্য সমান।
  • অ্যারেগুলির একটি সংখ্যাযুক্ত সূচক রয়েছে এবং দৈর্ঘ্যে সমান নয়।
  • অ্যারেগুলির একটি পাঠ্য সূচক রয়েছে এবং দৈর্ঘ্য সমান।
  • অ্যারেগুলির একটি পাঠ্য সূচক রয়েছে এবং দৈর্ঘ্য সমান নয়।

অ্যারেগুলির একটি সংখ্যা সূচক রয়েছে এবং দৈর্ঘ্যে সমান

উদাহরণস্বরূপ, আমাদের নীচে দুটি অ্যারে রয়েছে এবং আমরা এই অ্যারেগুলির তুলনা করতে চাই।

var Array1 = {"1", "2", "3"}

var Array2 = {"1", "2", "4"}

উপরের অ্যারেগুলিতে অল্প সংখ্যক উপাদান রয়েছে, যা তিনটি (3)। ছোট অ্যারের জন্য সমতা নির্ধারণ করা সহজ।

কিন্তু দীর্ঘ অ্যারের জন্য, আমাদের এটি খুঁজে বের করার জন্য কিছু পদ্ধতি খুঁজে বের করতে হবে। জাভাস্ক্রিপ্ট একটি অন্তর্নির্মিত দৈর্ঘ্যের সাথে আসে পদ্ধতি যা অ্যারে এবং বস্তুর সাথে তাদের দৈর্ঘ্য খুঁজে বের করতে ব্যবহার করা যেতে পারে।

এই দৈর্ঘ্য একটি শর্তসাপেক্ষ নির্মাণ ব্যবহার করে তুলনা করা যেতে পারে পছন্দ করে একটি যদি বিবৃতি এটি এরকম কিছু হবে:

if(Array1.length == Array2.length){

    // do something;

}

দৈর্ঘ্য তুলনা করা আবশ্যক কারণ আমরা সমান আকারের অ্যারেগুলির ক্ষেত্রে কাজ করছি। যদি অ্যারের দৈর্ঘ্য সমান হয় তবে অ্যারের ক্রস উপাদানগুলি একটি লুপ ব্যবহার করে সহজে চেক করা যেতে পারে - লুপ.

এটি এরকম কিছু হবে:

for....

{

    document.write("Array 1 element " + Array1[i] + "is equal to
"+ "Array 2 element " + Array2[i]);

}

এটি ক্রস উপাদানগুলির সাথে তুলনা করে কিছু পাঠ্য বিবৃতি আউটপুট করবে। এটিকে সহজ করতে 'অ্যারে সমান' এর মতো কিছু পাঠ্য আউটপুট করতে এটি পরিবর্তন করা যেতে পারে।

এছাড়াও একটি হতে পারে অন্য যে অংশটি অ্যারে সমান না হওয়ার ক্ষেত্রে পরিচালনা করতে পারে।

অ্যারেগুলির একটি সংখ্যাযুক্ত সূচক রয়েছে এবং দৈর্ঘ্যে সমান নয়

যেমনটি আমরা পূর্ববর্তী দৃশ্যের অন্য অংশে উল্লেখ করেছি, অ্যারে দৈর্ঘ্যে সমান নাও হতে পারে। এই ধরনের ক্ষেত্রে, অ্যারে 1 অ্যারে 2 এর সমান বা অ্যারে 2 নাও হতে পারে।

উদাহরণস্বরূপ, অ্যারে 1-এ তিনটি উপাদান রয়েছে যেমনটি আমরা আগে ব্যবহার করেছি কিন্তু অ্যারে 2-এ 4টি উপাদান রয়েছে। অ্যারে 2-এ অ্যারে 1 এর সমস্ত উপাদান রয়েছে তবে এটি অ্যারে 1 এর ক্ষেত্রে সত্য নয়।

এই ধরনের ক্ষেত্রে আমরা একটি অ্যারের প্রতিটি উপাদানকে অন্য অ্যারের প্রতিটি উপাদানের সাথে তুলনা করতে পারি।

কিন্তু এই ক্ষেত্রে, শুধুমাত্র একটি অ্যারে অন্যটির সমান হতে পারে বা না হতে পারে তবে উভয়ই সমান হতে পারে না কারণ তাদের দৈর্ঘ্য ভিন্ন। এই ফ্যাশনে অ্যারেগুলির তুলনা করার জন্য, আমরা নেস্টেড ফর লুপ ব্যবহার করতে পারি যা এইরকম কিছু হতে পারে:

for...

    for...

{

    {

    	if(Array[i] == Array[j])

    	{
   		 //do something

   		         }

    }

}

আমরা একটি যদি ব্যবহার করতে হবে নেস্টেড লুপের মধ্যে বিবৃতি যেমন আমরা বিভিন্ন আকারের অ্যারে নিয়ে কাজ করছি।

অ্যারেগুলির একটি পাঠ্য সূচক রয়েছে এবং দৈর্ঘ্যে সমান

টেক্সট ইনডেক্সড অ্যারে একটি ভাল অনুশীলন নয়। এটি দৈর্ঘ্যের অ্যারের পাশাপাশি অসম দৈর্ঘ্যের তুলনা করার কাজটিকে আরও জটিল করে তোলে। এটি 'অ্যারেগুলির একটি পাঠ্য সূচক রয়েছে এবং সমান নয়' কভার করে।

একই দৈর্ঘ্য, প্রতিটি মান সমান

var1 এবং var2 তুলনা করার জন্য একটি পদ্ধতি হল var1 এর প্রতিটি মান var2 এর সংশ্লিষ্ট মানের সাথে কঠোরভাবে সমান কিনা তা পরীক্ষা করা।

এটি ভাল কাজ করে যদি অ্যারের সমস্ত উপাদানগুলি বস্তুর বিপরীতে আদিম হয়। অপারেশন শেষে এটি একটি বুলিয়ান মান প্রদান করে। এখানে একটি উদাহরণ:

const var1 = [1, 2, 3];

const var2 = [4, 5, 6];

const var3 = [1, 2, 3];


function arrayEquals(var1, var2) {

  return Array.isArray(var1) && Array.isArray(var2) &&
var1.length === var2.length && var1.every((val, index) => val
=== var2[index]);

}


arrayEquals(var1, var2);

arrayEquals(var1, var3);

আউটপুট এই মত হওয়া উচিত:
সত্য মিথ্যা

JSON.stringify() পদ্ধতি ব্যবহার করে

জাভাস্ক্রিপ্ট একটি ফাংশন প্রদান করে JSON .stringify() একটি বস্তু বা অ্যারেকে JSON স্ট্রিং-এ রূপান্তর করার জন্য। JSON স্ট্রিং এ রূপান্তর করে আমরা সরাসরি পরীক্ষা করতে পারি যে স্ট্রিং সমান কিনা।

তবে JSON .stringify() পদ্ধতি একটি অ্যারেকে JSON স্ট্রিংয়ে রূপান্তর করে। ধারণাটি ভালভাবে বুঝতে নীচের প্রোগ্রামটি দেখুন।

function compareArrays(arr1, arr2){

    // compare arrays

    const result = JSON.stringify(arr1) == JSON.stringify(arr2)

    
// if result is true

    if(result){

   	 console.log('The arrays have the same elements.');

    }

    else{

   	 console.log('The arrays have different elements.');

    }

}

const array1 = [1, 3, 5, 8];

const array2 = [1, 3, 5, 8];

compareArrays(array1, array2);

উপরের প্রোগ্রামটি প্রদত্ত অ্যারেগুলির তুলনা করবে এবং একটি আউটপুট তৈরি করবে। অ্যারে একই উপাদান আছে b কারণ আমরা উভয় অ্যারেতে একই মান রাখি।

এই ব্লগ পোস্টে, আমরা 'কিভাবে জাভাস্ক্রিপ্টে অ্যারে তুলনা করতে হয়' শিখেছেন এবং সহজবোধ্য উদাহরণ কোড সহ এটি করার জন্য উপলব্ধ কিছু পদ্ধতির দিকে নজর দিয়েছেন।