কম্পিউটার

অ্যারে জাভাস্ক্রিপ্টে প্যারেন্ট কী দ্বারা চাইল্ড কী কীভাবে তৈরি করবেন?


ধরা যাক, আমাদের কাছে এই ধরনের বস্তুর একটি অ্যারে আছে −

const arr = [
   { id: 1, parent_id: 0, title: 'Movies' },
   { id: 2, parent_id: 0, title: 'Music' },
   { id: 3, parent_id: 1, title: 'Russian movies' },
   { id: 4, parent_id: 2, title: 'Russian music' },
   { id: 5, parent_id: 3, title: 'New' },
   { id: 6, parent_id: 3, title: 'Top10' },
   { id: 7, parent_id: 4, title: 'New' },
   { id: 8, parent_id: 4, title: 'Top10' },
   { id: 9, parent_id: 0, title: 'Soft' }
];

আমাদের এমন একটি ফাংশন লিখতে হবে যা এই অ্যারেতে নেয় এবং প্রতিটি বস্তুর সাথে একটি অতিরিক্ত বৈশিষ্ট্যযুক্ত বস্তুর একটি নতুন অ্যারে ফেরত দেয় "শিশু" যা অবশ্যই বস্তুর সমস্ত আইডিগুলির একটি অ্যারে হতে হবে যা একটি নির্দিষ্ট বস্তুর প্রত্যক্ষ বা পরোক্ষ সন্তান।

অতএব, আউটপুট −

এর মত হওয়া উচিত
[
   { id: 1, parent_id: 0, title: 'Movies', childs: [ 3, 5, 6 ] },
   { id: 2, parent_id: 0, title: 'Music', childs: [ 4, 7, 8 ] },
   { id: 3, parent_id: 1, title: 'Russian movies', childs: [ 5, 6 ] },
   { id: 4, parent_id: 2, title: 'Russian music', childs: [ 7, 8 ] },
   { id: 5, parent_id: 3, title: 'New', childs: [] },
   { id: 6, parent_id: 3, title: 'Top10', childs: [] },
   { id: 7, parent_id: 4, title: 'New', childs: [] },
   { id: 8, parent_id: 4, title: 'Top10', childs: [] },
   { id: 9, parent_id: 0, title: 'Soft', childs: [] }
]

এখন, এই ফাংশনের জন্য কোড লিখি -

উদাহরণ

const arr = [
   { id: 1, parent_id: 0, title: 'Movies' },
   { id: 2, parent_id: 0, title: 'Music' },
   { id: 3, parent_id: 1, title: 'Russian movies' },
   { id: 4, parent_id: 2, title: 'Russian music' },
   { id: 5, parent_id: 3, title: 'New' },
   { id: 6, parent_id: 3, title: 'Top10' },
   { id: 7, parent_id: 4, title: 'New' },
   { id: 8, parent_id: 4, title: 'Top10' },
   { id: 9, parent_id: 0, title: 'Soft' }
];
const generateChild = arr => {
   return arr.reduce((acc, val, ind, array) => {
      const childs = [];
      array.forEach((el, i) => {
         if(childs.includes(el.parent_id) || el.parent_id === val.id){
            childs.push(el.id);
         };
      });
      return acc.concat({...val, childs});
   }, []);
};
console.log(generateChild(arr));

আউটপুট

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

[
   { id: 1, parent_id: 0, title: 'Movies', childs: [ 3, 5, 6 ] },
   { id: 2, parent_id: 0, title: 'Music', childs: [ 4, 7, 8 ] },
   { id: 3, parent_id: 1, title: 'Russian movies', childs: [ 5, 6 ] },
   { id: 4, parent_id: 2, title: 'Russian music', childs: [ 7, 8 ] },
   { id: 5, parent_id: 3, title: 'New', childs: [] },
   { id: 6, parent_id: 3, title: 'Top10', childs: [] },
   { id: 7, parent_id: 4, title: 'New', childs: [] },
   { id: 8, parent_id: 4, title: 'Top10', childs: [] },
   { id: 9, parent_id: 0, title: 'Soft', childs: [] }
]

  1. জাভাস্ক্রিপ্টে অ্যারেকে সেটে কীভাবে রূপান্তর করবেন?

  2. কিভাবে জাভাস্ক্রিপ্টে আইডি দ্বারা অবজেক্টের অ্যারে গ্রুপ করবেন?

  3. জাভাস্ক্রিপ্টে হ্যাশের কীগুলি কীভাবে খুঁজে পাবেন?

  4. কিভাবে জাভাস্ক্রিপ্ট ব্যবহার করে পিতামাতার শিশু উপাদান পেতে?