javascript - 如何统计具有元素值的对象?

标签 javascript arrays sorting count

我需要你的帮助。 例如,我有这样的数组:

  var array = [{
    "name": "Tony",
    "year": "2010"
}, {
    "name": "Helen",
    "year": "2010"
}, {
    "name": "Jack",
    "year": "2005"
}, {
    "name": "Tony",
    "year": "2008"
}, {
    "name": "Max",
    "year": "2005"
}];

我如何按年计算它们并得到这样的结果:

2010 = 2 times;
2005 = 2 times;
2008 = 1 time;

谢谢

最佳答案

检查这个fiddle

var countObj = {};
for( var counter = 0; counter < array.length; counter++ )
{
   var yearValue = array [ counter ].year;
   if ( !countObj[ yearValue ] )
   {
      countObj[ yearValue ] = 0;
   }
   countObj[ yearValue ] ++;
}
console.log( countObj );

关于javascript - 如何统计具有元素值的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34352799/

相关文章:

php - 在 MySQL 中获取所有内容或 GROUP BY?

javascript - 基于数组生成可变的Leaflet标记颜色

python - 按第二个元素对元组列表进行排序,这是一个列表

linux - 按bash中的字段比较文件

javascript - 无法使用 angular.js 通过 reg exp 验证密码字段

javascript - 如何使用自定义按钮标签模拟禁用按钮?

python - 如何 reshape 这个 numpy 数组以排除 "extra dimension"?

php - Bitly API 导致意外的非法 token

javascript - 如何在 Javascript 中提取 URL 的结尾?

objective-c - 如何将 NSMutableArray 中的字符串按字母顺序排序?