【发布时间】:2020-11-16 14:46:58
【问题描述】:
我在 Node.js 脚本中有以下对象数组:
[
{
start: '10-05-2018',
assigned_agent: '1257434'
},
{
start: '10-05-2018',
assigned_agent: '1257434'
},
{
start: '10-05-2018',
assigned_agent: '1257434'
},
{
start: '10-06-2018',
assigned_agent: '1257434'
},
{
start: '10-05-2018',
assigned_agent: '1277852'
},
{
start: '10-05-2018',
assigned_agent: '1277852'
}
]
我需要的是按 start 和 assignment_agent 键对其进行分组。我尝试过filter 函数示例,但没有运气。不是,数组中还有其他键/值对,但为了清楚起见省略了它们。此外,虽然这是一个 Node.js 脚本,但如果有帮助,我确实可以使用 Lodash。
谢谢。
【问题讨论】:
-
如果你想对它们进行分组,你需要
reduce方法,而不是过滤器。 -
谢谢。所以这应该是一个简单的解决方案。
-
是的,你应该可以尝试一下自己。
-
var arr_new = Object.values(obj_agents_routes.reduce((acc, cur) => Object.assign(acc, { [cur.assigned_agent, cur.start]: cur }), {}) );
-
出现意外的令牌错误。我需要找出每个值的“减少”。
标签: javascript node.js arrays filter