const data = [{
"stage": "AT_CALLCENTER",
"content": "Hello",
},
{
"stage": "AT_CALLCENTER",
"content": "Bye",
},
{
"stage": "AT_SITE",
"content": "Good",
},
{
"stage": "AT_SITE",
"content": "Morning",
}
]
const result = data.reduce((val, item) => ({ ...val,
[`${item.stage}`]: [...(val[item.stage] || []), item.content]
}), {});
const stages = [...new Set(data.map(i => i.stage))]
const result = Object.fromEntries(
stages.map(s => [s, data.filter(i => i.stage === s).map(i => i.content)])
)
const result = {};
for (const { stage, content } of data) {
result[stage] ??= [];
result[stage].push(content);
}
const result = data.reduce((val, item) => {
val[item.stage] = [...(val[item.stage] || []), item.content]
return val;
}, {});
const result = data.reduce((val, item) => {
val[item.stage] ??= [];
val[item.stage].push(item.content);
return val;
}, {});
const stages = [...new Set(data.map(i => i.stage))]
const result = data.reduce((val, item) => {
val[item.stage].push(item.content);
return val;
}, Object.fromEntries(stages.map(s => [s, []])));