[英]Looping over array of object
I have an array of objects, trying to create a new array我有一个对象数组,试图创建一个新数组
a=[
{
sessionID: '1',
timestamp: '2022-06-26T05:47:00.794Z',
taskName: 'abc'
},
{
sessionID: '1',
timestamp: '2022-06-26T05:47:21.626Z',
taskName: 'def'
},
{
sessionID: '1',
timestamp: '2022-06-26T05:47:21.626Z',
taskName: 'ghi'
},
{
sessionID: '1',
timestamp: '2022-06-26T05:47:21.626Z',
taskName: 'jkl'
},
{
sessionID: '2',
timestamp: '2022-06-26T11:01:48.499Z',
taskName: '123'
},
{
sessionID: '2',
timestamp: '2022-06-26T11:28:07.389Z',
taskName: '456'
}
]
trying to create a new array based on session ID [abc<<def<<ghi<<jkl,123<<456]尝试基于 session ID [abc<<def<<ghi<<jkl,123<<456] 创建一个新数组
lets group array of objects by something using reduce
method.让我们使用reduce
方法对对象数组进行分组。
var a = [{sessionID:"1",timestamp:"2022-06-26T05:47:00.794Z",taskName:"abc"},{sessionID:"1",timestamp:"2022-06-26T05:47:21.626Z",taskName:"def"},{sessionID:"1",timestamp:"2022-06-26T05:47:21.626Z",taskName:"ghi"},{sessionID:"1",timestamp:"2022-06-26T05:47:21.626Z",taskName:"jkl"},{sessionID:"2",timestamp:"2022-06-26T11:01:48.499Z",taskName:"123"},{sessionID:"2",timestamp:"2022-06-26T11:28:07.389Z",taskName:"456"}]; var result = Object.values(a.reduce(function(agg, item) { agg[item.sessionID] = agg[item.sessionID] || []; agg[item.sessionID].push(item.taskName) return agg }, {})).map(function(item) { return item.join("<<<"); }) console.log(result)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.