我的数据似乎是这样的:
const myObj = {
"incidents": [{
"id": 4,
"fullName": "edsadas",
"address": "Bagbaguin, Pandi, Bulacan",
}, {
"id": 5,
"fullName": "reasdsa",
"address": "Dalig, Balagtas, Bulacan",
}, {
"id": 6,
"fullName": "dsa",
"address": "Dalig, Balagtas, Bulacan",
}],
}
我的问题,如何返回具有计数的相似值,如下所示:
{
"Dalig, Balagtas, Bulacan": 2,
"Bagbaguin, Pandi, Bulacan": 1
}
最佳答案
您可以使用函数reduce
:
var obj = { "incidents": [{ "id": 4, "fullName": "edsadas", "address": "Bagbaguin, Pandi, Bulacan", }, { "id": 5, "fullName": "reasdsa", "address": "Dalig, Balagtas, Bulacan", }, { "id": 6, "fullName": "dsa", "address": "Dalig, Balagtas, Bulacan", } ]};
var result = obj.incidents.reduce((a, c) => {
a[c.address] = (a[c.address] || 0) + 1
return a;
}, {});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
使用reduce
和逗号运算符
:
var obj = { "incidents": [{ "id": 4, "fullName": "edsadas", "address": "Bagbaguin, Pandi, Bulacan", }, { "id": 5, "fullName": "reasdsa", "address": "Dalig, Balagtas, Bulacan", }, { "id": 6, "fullName": "dsa", "address": "Dalig, Balagtas, Bulacan", } ]},
result = obj.incidents
.reduce((a, c) => (a[c.address] = (a[c.address] || 0) + 1, a), {});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
关于javascript - 返回与 JSON 数组中的计数相同的值,Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49136655/