示例数据:
let userUsages =
[ { _id: 5cad99fe0506582a4430491c,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:20:20.600Z },
{ _id: 5cad99af06ebd54558e88716,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:22:23.932Z },
{ _id: 5cad9cd46a97d8470c09b817,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:35:48.273Z },
{ _id: 5cad9d066a97d8470c09b819,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:38.448Z },
{ _id: 5cad9d096a97d8470c09b81a,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:41.580Z },
{ _id: 5cad9d0e6a97d8470c09b81b,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:46.250Z },
{ _id: 5cad9d576a97d8470c09b81f,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:37:59.826Z },
{ _id: 5cad9d5a6a97d8470c09b820,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:02.308Z },
{ _id: 5cad9d5c6a97d8470c09b821,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:04.469Z },
{ _id: 5cad9d5e6a97d8470c09b822,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:06.770Z },
{ _id: 5cad9d656a97d8470c09b823,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '4567',
created: 2019-04-10T07:38:13.925Z },
{ _id: 5cad9d6a6a97d8470c09b824,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '4567',
created: 2019-04-10T07:38:18.823Z } ]
按照key进行分组:
let keyContainer = {};
(element => {
keyContainer[] = keyContainer[] || [];
keyContainer[].push(element);
});
(keyContainer);
分组结果:
{ '1234':
[ { _id: 5cad99fe0506582a4430491c,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:20:20.600Z },
{ _id: 5cad99af06ebd54558e88716,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:22:23.932Z },
{ _id: 5cad9cd46a97d8470c09b817,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:35:48.273Z } ],
'2345':
[ { _id: 5cad9d066a97d8470c09b819,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:38.448Z },
{ _id: 5cad9d096a97d8470c09b81a,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:41.580Z },
{ _id: 5cad9d0e6a97d8470c09b81b,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:46.250Z } ],
'3456':
[ { _id: 5cad9d576a97d8470c09b81f,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:37:59.826Z },
{ _id: 5cad9d5a6a97d8470c09b820,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:02.308Z },
{ _id: 5cad9d5c6a97d8470c09b821,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:04.469Z },
{ _id: 5cad9d5e6a97d8470c09b822,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:06.770Z } ],
'4567':
[ { _id: 5cad9d656a97d8470c09b823,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '4567',
created: 2019-04-10T07:38:13.925Z },
{ _id: 5cad9d6a6a97d8470c09b824,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '4567',
created: 2019-04-10T07:38:18.823Z } ] }
分组后的结果为JSON对象,可以使用for in进行循环:
for (let key in keyContainer) {
(key);
(keyContainer[key]);
('================');
}
循环后的结果:
1234
[ { _id: 5cad99fe0506582a4430491c,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:20:20.600Z },
{ _id: 5cad99af06ebd54558e88716,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:22:23.932Z },
{ _id: 5cad9cd46a97d8470c09b817,
user: 5c9d8cc3161d6c257c021340,
key: '1234',
created: 2019-04-10T07:35:48.273Z } ]
================
2345
[ { _id: 5cad9d066a97d8470c09b819,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:38.448Z },
{ _id: 5cad9d096a97d8470c09b81a,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:41.580Z },
{ _id: 5cad9d0e6a97d8470c09b81b,
user: 5c9d8cc3161d6c257c021340,
key: '2345',
created: 2019-04-10T07:36:46.250Z } ]
================
3456
[ { _id: 5cad9d576a97d8470c09b81f,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:37:59.826Z },
{ _id: 5cad9d5a6a97d8470c09b820,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:02.308Z },
{ _id: 5cad9d5c6a97d8470c09b821,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:04.469Z },
{ _id: 5cad9d5e6a97d8470c09b822,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '3456',
created: 2019-04-10T07:38:06.770Z } ]
================
4567
[ { _id: 5cad9d656a97d8470c09b823,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '4567',
created: 2019-04-10T07:38:13.925Z },
{ _id: 5cad9d6a6a97d8470c09b824,
user: 5ca2bc4a54bc0f2fa07b1541,
key: '4567',
created: 2019-04-10T07:38:18.823Z } ]
================