我有一个 JSON 文件。我想找到一个键值对相似的 JSON 对象的长度。就像,
https://api.myjson.com/bins/h5mgv
[
{
"receive_date": "2013-11-04",
"responses": "2",
"name": "west"
},
{
"receive_date": "2013-11-04",
"responses": "8668",
"name": "west"
},
{
"receive_date": "2013-11-13",
"responses": "121",
"name": "east"
}
]
在上面的示例中,长度为 2,其中 "name": "west"
长度为 1,其中 "name": "east"
。我想迭代 JSON 并找到键 name
的相同值使用 JavaScript。输出应该看起来像,
east : 1
west : 2
通过使用 length()
我可以找到整个 JSON 的长度,但是推荐的方法来查找相同键值的长度。
最佳答案
您可以使用reduce来获取一个新对象,列出每个名称的计数:
const myArray = [
{
"receive_date": "2013-11-04",
"responses": "2",
"name": "west"
},
{
"receive_date": "2013-11-04",
"responses": "8668",
"name": "west"
},
{
"receive_date": "2013-11-13",
"responses": "121",
"name": "east"
}
]
const myCounts = myArray.reduce((counts, item) => {
if (counts[item.name] === undefined) counts[item.name] = 0;
counts[item.name]++;
return counts;
}, {});
console.log(myCounts);
这会产生结果:
{
"west": 2,
"east": 1
}
关于javascript - 查找相同键值的 JSON 对象的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947118/