পণ্য ক্যালকুলেটরে নতুন ক্রয় যোগ করা

প্রথমে আসুন এমন করি যাতে বাটন ক্লিক করলে টেবিলে একটি নতুন সারি যোগ হয় ক্রয় সহ:

javascriptadd.addEventListener('click', function() {
  let tr = document.createElement('tr');
  
  let td;
  
  td = document.createElement('td');
  td.textContent = name.value;
  td.classList.add('name');
  tr.appendChild(td);
  
  td = document.createElement('td');
  td.textContent = price.value;
  td.classList.add('price');
  tr.appendChild(td);
  
  td = document.createElement('td');
  td.textContent = amount.value;
  td.classList.add('amount');
  tr.appendChild(td);
  
  td = document.createElement('td');
  td.textContent = price.value * amount.value;
  td.classList.add('cost');
  tr.appendChild(td);
  
  td = document.createElement('td');
  td.textContent = 'মুছুন';
  td.classList.add('remove');
  tr.appendChild(td);
  
  table.appendChild(tr);
});

আমার দেওয়া সমাধানটি, তবে, স্পষ্ট কোড ডুপ্লিকেশনের সমস্যা রয়েছে: মূলত প্রতিটি সেলের জন্য আমরা একই কোড লিখি।

টেবিল সেল তৈরির জন্য কিছু ফাংশন থাকা উপযুক্ত হবে। এই ফাংশনটি যেন প্রথম প্যারামিটার হিসাবে টেবিল সারির রেফারেন্স নেয়, দ্বিতীয় প্যারামিটার হিসাবে - টেবিল সেলের টেক্সট, এবং তৃতীয় হিসাবে - সেলের CSS ক্লাসের নাম:

javascriptfunction createCell(tr, value, name) {
  
}

এরকম একটি ফাংশন থাকলে আমরা উপরের কোডটি নিম্নলিখিতভাবে পুনরায় লিখতে পারতাম:

javascriptadd.addEventListener('click', function() {
  let tr = document.createElement('tr');
  
  createCell(tr, name.value, 'name');
  createCell(tr, price.value, 'price');
  createCell(tr, amount.value, 'amount');
  createCell(tr, price.value * amount.value, 'cost');
  createCell(tr, 'মুছুন', 'remove');
  
  table.appendChild(tr);
});
Задание 1

আমার বর্ণিত createCell ফাংশনটি বাস্তবায়ন করুন।

Задание 2

নতুন ক্রয় যোগ করার জন্য আমার কোডটি কপি করুন। টেবিলে নতুন ক্রয় যোগ করে পরীক্ষা করুন।

Задание 3

createCell ফাংশনটি পরিবর্তন করুন যাতে এটি return এর মাধ্যমে তৈরি করা টেবিল সেলটি রিটার্ন করে।