다음과 같은 객체가 있다고 가정해 보겠습니다. -
const obj = {
0: { "time": 1, "day": 1, },
1: { "time": 2, "day": 1, },
2: { "time": 3, "day": 1, },
3: { "time": 1, "day": 2, },
4: { "time": 2, "day": 2, },
5: { "time": 3, "day": 2, }
}; 우리는 그러한 객체 하나를 취하고 모든 키 값 쌍을 요일 키에 대해 동일한 값을 갖는 별도의 하위 객체로 그룹화하는 JavaScript 함수를 작성해야 합니다.
출력
위 개체의 출력은 -
여야 합니다.const output = { '1':
{ '1': { time: 1, day: 1 },
'2': { time: 2, day: 1 },
'3': { time: 3, day: 1 } },
'2':
{ '1': { time: 1, day: 2 },
'2': { time: 2, day: 2 },
'3': { time: 3, day: 2 } }
} 예시
이에 대한 코드는 -
const obj = {
0: { "time": 1, "day": 1, },
1: { "time": 2, "day": 1, },
2: { "time": 3, "day": 1, },
3: { "time": 1, "day": 2, },
4: { "time": 2, "day": 2, },
5: { "time": 3, "day": 2, }
};
const groupObject = obj => {
let res = {};
res = Object.values(obj).reduce((acc, val) => {
if(acc[val['day']] === undefined){
acc[val['day']] ={};
};
acc[val['day']][val['time']] = val;
return acc;
},{});
return res;
};
console.log(groupObject(obj)); 출력
콘솔의 출력 -
{
'1': {
'1': { time: 1, day: 1 },
'2': { time: 2, day: 1 },
'3': { time: 3, day: 1 }
},
'2': {
'1': { time: 1, day: 2 },
'2': { time: 2, day: 2 },
'3': { time: 3, day: 2 }
}
}