【发布时间】:2020-12-04 01:17:27
【问题描述】:
我有一个数组结构:-
var location = [ {
"latitude" : 21.112,
"longitude" : 79.07,
"time" : "8:13AM",
"time1" : "8:13AM"
},
{
"latitude" : 21.111,
"longitude" : 79.07,
"time" : "8:20AM",
"time1" : "8:20AM"
},
{
"latitude" : 21.111,
"longitude" : 79.07,
"time" : "8:34AM",
"time1" : "8:34AM"
},
{
"latitude" : 21.111,
"longitude" : 79.07,
"time" : "8:41AM",
"time1" : "8:41AM"
},
{
"latitude" : 21.109,
"longitude" : 79.07,
"time" : "8:48AM",
"time1" : "8:48AM"
},
{
"latitude" : 21.108,
"longitude" : 79.07,
"time" : "8:55AM",
"time1" : "8:55AM"
},
{
"latitude" : 21.108,
"longitude" : 79.069,
"time" : "9:02AM",
"time1" : "9:02AM"
},
{
"latitude" : 21.107,
"longitude" : 79.069,
"time" : "9:09AM",
"time1" : "9:09AM"
},
{
"latitude" : 21.106,
"longitude" : 79.069,
"time" : "9:16AM",
"time1" : "9:16AM"
},
{
"latitude" : 21.105,
"longitude" : 79.069,
"time" : "9:23AM",
"time1" : "9:23AM"
},
{
"latitude" : 21.104,
"longitude" : 79.069,
"time" : "9:30AM",
"time1" : "9:30AM"
},
{
"latitude" : 21.105,
"longitude" : 79.069,
"time" : "9:37AM",
"time1" : "9:37AM"
},
{
"latitude" : 21.105,
"longitude" : 79.07,
"time" : "9:44AM",
"time1" : "9:44AM"
},
{
"latitude" : 21.105,
"longitude" : 79.071,
"time" : "9:51AM",
"time1" : "9:51AM"
},
{
"latitude" : 21.106,
"longitude" : 79.072,
"time" : "9:58AM",
"time1" : "9:58AM"
}]
我要数数。每个对象的纬度和经度都相同。它应该返回数组,因为它只是带有额外的计数键。 例如 - 预期结果
var location = [ {
"latitude" : 21.112,
"longitude" : 79.07,
"time" : "8:13AM",
"time1" : "8:13AM",
"count":1
},
{
"latitude" : 21.111,
"longitude" : 79.07,
"time" : "8:20AM",
"time1" : "8:20AM",
"count":3
},
{
"latitude" : 21.111,
"longitude" : 79.07,
"time" : "8:34AM",
"time1" : "8:34AM",
"count":3
},
{
"latitude" : 21.111,
"longitude" : 79.07,
"time" : "8:41AM",
"time1" : "8:41AM",
"count":3
},..]
我试过这个代码-
const resultarray = Object.values(location.reduce((a, b) => {
a[b.latitude + b.longitude] = Object.assign(b, {count: (a[b.latitude + b.longitude] || {count: 0}).count + 1});
return a;
}, {}));
console.log(resultarray)
但这会返回具有计数的元素的唯一对象。我希望每个对象都具有键数。
【问题讨论】:
标签: javascript node.js arrays object