const sourceObject = {
a: 1,
b: 2,
c: 3,
d: 4,
e: 5,
}
const groundInfo : {
aGroup: ['a', 'b'],
bGroup: ['c', 'd', 'e'],
};
function makeGroup(source, info) {
const merge = (prev, curr) => ({ ...prev, ...curr });
return Object.keys(info)
.map(infoKey => ({ [infoKey]: info[infoKey]
.map(val => ({ [val]: source[val] }))
.reduce(merge, {})
}))
.reduce(merge, {});
}
const result = makeGroup(sourceObject, groundInfo);
console.log(result);
*Object.keys(obj)
: 해당 객체의 keys 값을 배열로 반환한다.*