কম্পিউটার

জাভাস্ক্রিপ্ট ব্যবহার করে দুটি ভিন্ন অ্যারে অবজেক্ট কিভাবে একত্রিত করবেন?


ধরুন, আমাদের কাছে দুটি ভিন্ন অ্যারে অবজেক্ট আছে যেগুলোতে কিছু লোকের উত্তর দেওয়া প্রশ্নের তথ্য রয়েছে −

const arr1=[
   { PersonalID: '11', qusetionNumber: '1', value: 'Something' },
   { PersonalID: '12', qusetionNumber: '2', value: 'whatever' },
   { PersonalID: '13', qusetionNumber: '3', value: 'anything' },
   { PersonalID: '14', qusetionNumber: '4', value: 'null' }
];
const arr2=[
   { qusetionNumber: '2', chID: '111', cValue: 'red' },
   { qusetionNumber: '2', chID: '112', cValue: 'green'},
   { qusetionNumber: '2', chID: '113', cValue: 'blue' },
   {qusetionNumber: '3', choiceID: '114', cValue: 'yellow'},
   {qusetionNumber: '4', choiceID: '115', cValue: 'red'}
];

আমাদের এমন একটি ফাংশন লিখতে হবে যা এই ডেটাকে গোষ্ঠীবদ্ধ করে, অনন্য ব্যক্তি অনুসারে উভয় অ্যারেতে উপস্থিত থাকে, অর্থাৎ, প্রতিটি অনন্য ব্যক্তির জন্য প্রশ্ন এবং পছন্দগুলিকে চিত্রিত করে একটি বস্তু৷

অতএব, চূড়ান্ত আউটপুট এইরকম কিছু দেখা উচিত -

const output = [{
   personalID:11,
   qusetionNumber:1,
   value: 'Something'
},
{
   personalID:12,
   qusetionNumber:2,
   value: 'whatever',
   choice:[
      { qusetionNumber: '2', chID: '111', cValue: 'red' },
      { qusetionNumber: '2', chID: '112', cValue: 'green'},
      { qusetionNumber: '2', chID: '113', cValue: 'blue' }
   ]
},
{
   personalID:13,
   qusetionNumber:3,
   value: 'anything',
   choice:[
      { qusetionNumber: '3', chID: '114', cValue: 'yellow' }
   ]
},
{
   personalID:14,
   qusetionNumber:4,
   value: 'null',
   choice:[
      { qusetionNumber: '4', chID: '115', cValue: 'red' }
   ]
}];

উদাহরণ

এর জন্য কোড হবে −

const arr1=[
   { PersonalID: '11', qusetionNumber: '1', value: 'Something' },
   { PersonalID: '12', qusetionNumber: '2', value: 'whatever' },
   { PersonalID: '13', qusetionNumber: '3', value: 'anything' },
   { PersonalID: '14', qusetionNumber: '4', value: 'null' }
];
const arr2=[
   { qusetionNumber: '2', chID: '111', cValue: 'red' },
   { qusetionNumber: '2', chID: '112', cValue: 'green'},
   { qusetionNumber: '2', chID: '113', cValue: 'blue' },
   {qusetionNumber: '3', choiceID: '114', cValue: 'yellow'},
   {qusetionNumber: '4', choiceID: '115', cValue: 'red'}
];
const mergeArray = (arr1 = [], arr2 = []) => {
   let i = -1;
   const copy = arr1.slice();
   copy.forEach(obj => {
      const helper = [];
      arr2.forEach(obj2 => {
         if(obj.qusetionNumber == obj2.qusetionNumber){
            i++;
            helper.push(arr2[i]);
         };
      })
      if(helper.length !== 0){
         obj.choice = helper;
      };
   })
   return copy;
};
console.log(JSON.stringify(mergeArray(arr1, arr2), undefined, 4));

আউটপুট

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

[
   {
      "PersonalID": "11",
      "qusetionNumber": "1",
      "value": "Something"
   },
   {
      "PersonalID": "12",
      "qusetionNumber": "2",
      "value": "whatever",
      "choice": [
         {
            "qusetionNumber": "2",
            "chID": "111",
            "cValue": "red"
         },
         {
            "qusetionNumber": "2",
            "chID": "112",
            "cValue": "green"
         },
         {
            "qusetionNumber": "2",
            "chID": "113",
            "cValue": "blue"
         }
      ]
   },
   {
      "PersonalID": "13",
      "qusetionNumber": "3",
      "value": "anything",
      "choice": [
         {
            "qusetionNumber": "3",
            "choiceID": "114",
            "cValue": "yellow"
         }
      ]
   },
   {
      "PersonalID": "14",
      "qusetionNumber": "4",
      "value": "null",
      "choice": [
         {
            "qusetionNumber": "4",
            "choiceID": "115",
            "cValue": "red"
         }
      ]
   }
]

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

  2. জাভাস্ক্রিপ্ট অবজেক্টের অ্যারের অ্যারের পদ্ধতি ব্যবহার করছেন?

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

  4. কিভাবে জাভাস্ক্রিপ্টের সাথে একটি একক অবজেক্ট অ্যারেতে বস্তুগুলিকে একত্রিত করবেন?