经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JSJS库框架 » JavaScript » 查看文章
JS数组实现分类统计实例代码
来源:jb51  时间:2018/10/8 8:44:58  对本文有异议

将水果数组中同类的水果合并为一条并求出总数

  1. var fruits =
  2. [{
  3. name: 'apple',
  4. value: 1
  5. },
  6. {
  7. name: 'apple',
  8. value: 2
  9. }, // 总计3个苹果
  10. {
  11. name: 'banana',
  12. value: 2
  13. },
  14. {
  15. name: 'banana',
  16. value: 3
  17. }]; // 总计5个香蕉
  18.  
  19. var fruitTotal = []; // 存最终数据结果
  20.  
  21. // 数据按照水果名称进行归类
  22. var nameContainer = {}; // 针对键name进行归类的容器
  23. fruits.forEach(item => {
  24. nameContainer[item.name] = nameContainer[item.name] || [];
  25. nameContainer[item.name].push(item);
  26. });
  27.  
  28. console.log(nameContainer); // 按照水果名称归类完成:{ apple: Array(2), banana: Array(2) }
  29.  
  30. // 统计不同种类水果的数量
  31. var fruitName = Object.keys(nameContainer); // 获取水果种类:["apple", "banana"]
  32. fruitName.forEach(nameItem => {
  33. let count = 0;
  34. nameContainer[nameItem].forEach(item => {
  35. count += item.value; // 遍历每种水果中包含的条目计算总数
  36. });
  37. fruitTotal.push({'name': nameItem, 'total': count});
  38. });
  39.  
  40. console.log(fruitTotal);
  41. // 输出结果:
  42. // [{ name: "apple", total: 3 },
  43. // { name: "banana", total: 5 }]

总结

以上所述是小编给大家介绍的JS数组实现分类统计实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号