Javascript / JQuery / Angular:使用键来计算值发生的次数

时间:2015-09-29 05:07:56

标签: javascript angularjs algorithm loops

我有两个JSON文件:

1) {id:1, location:'Texas'}, {id:2, location:'New York'}

2) {id:1, val:'author'}, {id:1, val:'author'}, {id:1, val:'reviewer'}

我想使用id来显示位置并计算id一次性创作/审核的次数。 (我只有val类型 - 作者和评论家)。

预期输出(JSON,HTML或Javascript / Angular中的循环)

id:1, location:'Texas', count (for Author): 2, count (for reviewer): 1 

我还有一堆id要循环。什么可能是一种有效的方法呢?

1 个答案:

答案 0 :(得分:1)

用于创建结果的reduce和用于更新计数的forEach应该没问题。

var result = locations.reduce(function(result, item) {
    item.author = 0;
    item.reviewer = 0;
    result[item.id] = item;
    return result;
}, Object.crete(null));
authorReviewers.forEach(functin(obj) {
    result[obj.id][obj.val]++;
});