首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历对象数组

遍历对象数组
EN

Stack Overflow用户
提问于 2022-09-18 20:04:37
回答 1查看 35关注 0票数 -3

我有一个对象数组,试图创建一个新的数组。

代码语言:javascript
复制
 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'
    }
]

尝试基于会话ID abc<

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-18 20:09:45

让我们使用reduce方法对对象数组进行分组。

代码语言:javascript
复制
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)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73766053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档