মান লজিয়ে, আমাদের নিচের মতো একটি অবজেক্টের অ্যারে আছে −
const arr = [
{name: 'lorem', age: 20, color:'red'},
{name: 'lorem', weight: 1, height:5} ,
{name: 'hello', ipsum : 'dolor'}
];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অবজেক্টের অ্যারে নেয়। ফাংশনটি সেই সব অবজেক্টের প্রপার্টিগুলো গ্রুপ করবে যাদের "name" প্রপার্টির মান একই।
উদাহরণস্বরূপ −
উপরের অ্যারে-র জন্য আউটপুট হবে −
const output = [
{name: 'lorem', age : 20, color: 'red', weight : 1, height : 5},
{name: 'hello', ipsum : 'dolor'}
];
উদাহরণ
এটির কোড হবে −
const arr = [
{name: 'lorem', age: 20, color:'red'},
{name: 'lorem', weight: 1, height:5} ,
{name: 'hello', ipsum : 'dolor'}
];
const mergeList = (arr = []) => {
const temp = {};
arr.forEach(elem => {
let name = elem.name;
delete elem.name;
temp[name] = { ...temp[name], ...elem };
});
const res = [];
Object.keys(temp).forEach(key => {
let object = temp[key];
object.name = key;
res.push(object);
});
return res;
};
console.log(mergeList(arr));
আউটপুট
কনসোলে আউটপুট হবে −
[
{ age: 20, color: 'red', weight: 1, height: 5, name: 'lorem' },
{ ipsum: 'dolor', name: 'hello' }
]