মান লজিয়ে, আমাদের কিছু ইউজারের ডেটা আছে নিচের মতো −
const obj = {
"Mary": {
"2016-1": 2,
"2016-5": 1,
"2016-3": 1
},
"Paul": {
"2016-1": 1,
"2016-3": 1
},
"moth": {
"2016-1": 2,
"2016-5": 1
}
};
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অবজেক্ট নেয়। ফাংশনটি এই ইউজার ডেটাকে এমন অবজেক্ট-এ গ্রুপ করবে যেটিতে প্রতিটি অনন্য ডেটা একটি অবজেক্ট দিয়ে প্রতিনিধিত্ব করা হবে।
উদাহরণ
এটির কোড হবে −
const obj = {
"Mary": {
"2016-1": 2,
"2016-5": 1,
"2016-3": 1
},
"Paul": {
"2016-1": 1,
"2016-3": 1
},
"moth": {
"2016-1": 2,
"2016-5": 1
}
};
const groupByDate = (obj = {}) => {
const names = Object.keys(obj);
const res = {};
for(let i = 0; i < names.length; i++){
const name = names[i];
const dates = Object.keys(obj[name]);
for(let j = 0; j < dates.length; j++){
const date = dates[j];
if(!res.hasOwnProperty(date)){
res[date] = {
names: [name],
values: [obj[name][date]]
}
}
else{
res[date].names.push(name);
res[date].values.push(obj[name][date]);
};
};
};
return res;
};
console.log(groupByDate(obj));
আউটপুট
কনসোলে আউটপুট হবে −
{
'2016-1': { names: [ 'Mary', 'Paul', 'moth' ], values: [ 2, 1, 2 ] },
'2016-5': { names: [ 'Mary', 'moth' ], values: [ 1, 1 ] },
'2016-3': { names: [ 'Mary', 'Paul' ], values: [ 1, 1 ] }
}