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

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


ধরা যাক, у нас দুটি ভিন্ন অবজেক্টের অ্যারে আছে যাতে কিছু মানুষের जवাব দেওয়া প্রশ্নের তথ্য রয়েছে -

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

  2. জাভাস্ক্রিপ্ট অবজেক্টের অ্যারেতে অ্যারে মেথডগুলো ব্যবহার করা

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

  4. জাভাস্ক্রিপ্টে অবজেক্ট 머জ করে সিঙ্গেল অবজেক্ট অ্যারে তৈরি করা