Javascript:获取 JSON 中的值计数

Javascript: Get count of values in JSON

本文关键字:获取 JSON Javascript      更新时间:2023-09-26

显然,我有一个JSON数组。而且我被困在JS中(没有JQuery(。

我必须找到"服务"的每个不同值以及每个值的计数。

因此,如果 100 出现 3 次,101 出现 5 次,我需要我的结果如下所示:

{ "100" : "3", "101" : "5"}

我宁愿不使用常规循环,如果有更简洁的东西可以使用,例如 forEach((

首先,将 JSON 数组转换为数组对象:

var json_ar = '[100, 100, 101, 100, 101, 101, 101, 101]';
var ar = JSON.parse(json_ar);

从那时起,它只是计数,这有点取决于数组中的对象实际是什么。如果它们是数字,那就太简单了

var counts = {};
ar.forEach(function(v) {
    counts[v] = counts[v] ? counts[v] + 1 : 1;
});

会让你counts = {'100': 3, '101': 5}.

如果你不喜欢<array>.forEach(<callback>)你也可以使用普通的for..of循环:

var result = {};
for (var val of json_object) result[val] = result[val] ? result[val] + 1 : 1;