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

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


ধরুন আমাদের কাছে দুটি অ্যারে আছে, প্রথম অ্যারে-তে কিছু ইভেন্টের শিডিউলড ডেট 있고 দ্বিতীয় অ্যারে-তে সেসব ইভেন্টের নাম আছে −

const dates = [    {       id:"1",       date:"2017-11-07"    },    {       id:"1",       date:"2017-11-08"    },    {       id:"2",       date:"2017-11-07"    },    {       id:"2",       date:"2017-11-08"    } ]; const names = [    {       id:"1",       name:"Pervies, Peter"    },    {       id:"2",       name:"Ming, Edmund"    } ]; 

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা দুটি такие অ্যারে নেবে এবং id প্রপার্টি-র ভিত্তিতে ইভেন্টের নামগুলোকে তাদের সংশ্লিষ্ট ডেটের সাথে কম্বাইন করবে।

তাই, এই অ্যারেগুলোর জন্য আউটপুট হওয়া উচিত −

const output = [    {       id:"1",       name:"Pervies, Peter",       details:[          {date:"2017-11-07"},          {date:"2017-11-08"}       ]    },    {       id:"2",       name:"Ming, Edmund",       details:[          {date:"2017-11-07"},          {date:"2017-11-08"}       ]    } ]

উদাহরণ

কোডটি নিচে দেওয়া হলো −

const dates = [    {       id:"1",       date:"2017-11-07"    },    {       id:"1",       date:"2017-11-08"    },    {       id:"2",       date:"2017-11-07"    },    {       id:"2",       date:"2017-11-08"    } ]; const names = [    {       id:"1",       name:"Pervies, Peter"    },    {       id:"2",       name:"Ming, Edmund"    } ]; const combineArrays = (dates, names) => {    const res = [];    dates.forEach(el => {       const bool = !res.some(item => {          return item.id == el.id;       });       if(bool){          let combined = {};          combined.id = el.id;          combined.details = combined.details || [];          combined.details.push({               "date": el.date          });          res.push(combined);       }else{          res.find(item => {             return item.id === el.id;          })          .details.push({               "date": el.date          });       };    });    res.forEach(el => {       const bool = names.some(item => {          return item.id === el.id;       });       if(bool){          el.name = names.find(name => {             return name.id === el.id;          }).name;       };    });    return res; }; console.log(JSON.stringify(combineArrays(dates, names), undefined, 4));

আউটপুট

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

[    {       "id": "1",       "details": [          {             "date": "2017-11-07"          },          {             "date": "2017-11-08"          }       ],       "name": "Pervies, Peter"    },    {       "id": "2",       "details": [          {             "date": "2017-11-07"          },          {             "date": "2017-11-08"          }       ],       "name": "Ming, Edmund"    } ]

  1. জাভাস্ক্রিপ্ট JSON অ্যারে

  2. জাভাস্ক্রিপ্টে অ্যারে vs সেট

  3. জাভাস্ক্রিপ্টে দুটি অ্যারে জয়েন করা

  4. জাভাস্ক্রিপ্টে দুটি অ্যারে গুণ করা