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

JavaScript-এ অ্যারেতে পেরেন্ট কী থেকে চাইল্ড কী জেনারেট করা


মান লিজিয়ে, আমাদের কাছে নিচের মতো একটি অবজেক্টের অ্যারে আছে:

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' } ];

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

তাই, আউটপুট দেখতে হবে নিচের মতো:

[    { 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. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা

  3. জাভাস্ক্রিপ্টে অবজেক্টের কী (Keys) বের করা

  4. জাভাস্ক্রিপ্ট দিয়ে পেরেন্ট এলিমেন্টের চাইল্ড এলিমেন্ট পাওয়া