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

জাভাস্ক্রিপ্টে দুটি অবজেক্টের প্রপার্টি ডাইনামিক্যালি মার্জ করা

জাভাস্ক্রিপ্ট অবজেক্টের প্রপার্টি ডাইনামিক্যালি মার্জ করার দুটি পদ্ধতি রয়েছে:

১) Object.assign()

Object.assign() মেথড এক বা একাধিক সোর্স অবজেক্টের সব প্রপার্টির মান টার্গেট অবজেক্টে কপি করে। এটি টার্গেট অবজেক্ট রিটার্ন করে।

উদাহরণ-১

<html> <body> 
<script> 
  var target = { a: "ram", b: "rahim" };
  var source = { c: "akbar", d: "anthony" };
  var returnedTarget = Object.assign(target, source);
  document.write(JSON.stringify(target));
  document.write(JSON.stringify(returnedTarget));
</script> 
</body> </html>

আউটপুট

{"a":"ram","b":"rahim","c":"akbar","d":"anthony"} {"a":"ram","b":"rahim","c":"akbar","d":"anthony"}

যদি অবজেক্টগুলোতে একই কী থাকে, তবে послед declarar করা অবজেক্টের ভ্যালু কপি হবে।

উদাহরণ-২: একই কী থাকলে

<html> <body> 
<script> 
  var target = { a: "ram", b: "rahim" };
  var source = { b: "akbar", d: "anthony" };
  var returnedTarget = Object.assign(target, source);
  document.write(JSON.stringify(target));
  document.write("</br>");
  document.write(JSON.stringify(returnedTarget));
</script> 
</body> </html>

আউটপুট

{"a":"ram","b":"akbar","d":"anthony"} {"a":"ram","b":"akbar","d":"anthony"}

২) স্প্রেড অপারেটর ব্যবহার

স্প্রেড অপারেটর এক্সপ্রেশনকে এক্সপ্যান্ড করে যেখানে মাল্টিপল এলিমেন্ট/ভেরিয়েবল/আর্গুমেন্ট এক্সপেক্ট করা হয়। জাভাস্ক্রিপ্ট অবজেক্ট যেহেতু কী-ভ্যালু পেয়ার এন্টিটি, তাই স্প্রেড অপারেটর দিয়ে সেগুলো একে মার্জ করা যায়।

সিনট্যাক্স

var returnedTarget = {...target, ...source}

উদাহরণ

<html> <body> 
<script> 
  var target = { a: "ram", b: "rahim" };
  var source = { b: "akbar", d: "anthony" };
  var returnedTarget = {...target, ...source}
  document.write(JSON.stringify(returnedTarget));
</script> 
</body> </html>

আউটপুট

{"a":"ram","b":"akbar","d":"anthony"}

ব্যাখ্যা

Object.assign() মিউটেট করে টার্গেট অবজেক্টকে, কিন্তু স্প্রেড অপারেটর একটি নতুন অবজেক্ট তৈরি করে। আধুনিক জাভাস্ক্রিপ্টে স্প্রেড অপারেটর অধিক পছন্দনীয় কারণ এটি ইমিউটেবল প্যাটার্ন ফলো করে।

  1. জাভাস্ক্রিপ্টে অবজেক্ট প্রপার্টি অ্যাক্সেস করার পদ্ধতি

  2. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা

  3. জাভাস্ক্রিপ্টে দুটি অবজেক্ট মার্জ করা

  4. জাভাস্ক্রিপ্টে অবজেক্ট 머জ করে সিঙ্গেল অবজেক্ট অ্যারে তৈরি করা