Js~对数组进行分组户数
在sql里有group by,主要对数据结果集进行分组统计,而对于JS来说,有时我们也需要这种功能,例如一个数据{"dog","cat","dog","dog"},我们希望结果是{dog:3,cat:1},返回这种字典对象,我在网上找了一下资料,看这这种解决方法比较简单,所以也总结了一下,供大家参考。
var arr = [ 'Car', 'Car', 'Truck', 'Boat', 'Truck' ]; var hist = {}; arr.map( function (a) { if (a in hist) hist[a] ++; else hist[a] = 1; } ); console.log(hist);
其中核心方法就是map,它是数组类型的一个扩展方法,主要对同时元素的对象进行累加,原理就是一个递归算法,性能当然把遍历要好一些。
而对于返回的字典对象,大叔做了几个操作,遍历字典的key和返回字典的key对应的值,也和面向对象的语言大同小异!
遍历字典键(对象的属性名)
for(var inner in hist){console.log(inner);}
遍历字典值(对象的属性值)
for(var inner in hist){console.log(hist[inner]);}
怎么样,和C#,java都很类似吧!
感谢各位阅读!
本文转自博客园张占岭(仓储大叔)的博客,原文链接:Js~对数组进行分组户数,如需转载请自行联系原博主。
Js~对数组进行分组户数相关推荐
- 对对象数组进行分组的最有效方法
本文翻译自:Most efficient method to groupby on an array of objects What is the most efficient way to grou ...
- php如何对数组进行分组,如何在PHP中对数组进行分组排序
如何在PHP中对数组进行分组排序 发布时间:2021-01-04 16:28:51 来源:亿速云 阅读:98 作者:Leah 这篇文章将为大家详细讲解有关如何在PHP中对数组进行分组排序,文章内容质量 ...
- Js面试题(一)--js实现数组去重怎么实现?
方法1.创建一个新的临时数组来保存数组中已有的元素 方法2.使用哈希表存储已有元素 方法3.使用indexof判断数组元素第一次出现的位置是否为当前位置 方法4.先排序再去重 第一种方法和第三种方法都 ...
- js调整数组某些元素到指定位置顺序_Js数组里剔除指定的元素(不是指定的位置)...
s数组里删除指定的元素(不是指定的位置) 之前一直是做后端的,从来也没有写过js,但是却一直想学学,也只是基于兴趣而已!现在到了这个公司,确实大量的写js.但也一直都是没有系统的去看过js!都是搞什么 ...
- js之数组,对象,类数组对象
2019独角兽企业重金招聘Python工程师标准>>> 许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的 ...
- [Js]删除数组指定元素
写在前面 在最近的项目中,有用到js对数组的操作,之前自己几乎没有用到这种方法,这里就记录一下,算是对学到的东西的一种总结吧. 数组对象splice方法 splice() 方法向/从数组中添加/删除项 ...
- android js变量定义数组长度,js 声明数组和向数组中添加对象变量的简单实例
数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...
- JS删除数组元素的函数介绍
有时候我们需要数组元素的值,那么就可以参考下面的方法,文中提到了不少这方面的资料,数组去重功能等 split将字符串转为数组并输出的代码: 复制代码 代码如下: <script language ...
- Js传递数组参数到后台controller的方式
分享一篇js传递数组参数到后台controller的方法,具有很好的参考价值,希望对大家有所帮助. 传递参数传递字符串,所以要把数组转换为字符串, var arr=[1,23,34,5]; var s ...
最新文章
- install flash player plugin: linux 11.10 --chrome
- python手机版怎么用-如何优雅的在手机上进行Python编程
- 阿里云上创建个人网站
- python提示jsondecodeerror是什么意思_python中报错json.decoder.JSONDecodeError: Expecting value:的解决...
- 2017年单多晶市场竞争核心分析
- 处理SQL Server中的重复行
- android thread线程通讯
- hive 强转为string_String 源码浅析————终结篇
- URAL 1586. Threeprime Numbers 数位dp
- HEVC—SAO技术
- Photoshop cc2019 破解教程
- 【科普】当手机遭遇短信验证码轰炸,这几点尤其要注意
- fit into用法
- Eclipse中无法输入中文
- 【云原生】安全容器 Kata Containers
- 启用计算机无线网络连接,哪位清楚笔记本电脑如何启用无线网络连接
- SpringBoot导出word模板并动态渲染数据
- python爬虫爬取网易云音乐歌曲_Python网易云音乐爬虫进阶篇
- 解决垃圾小米文件管理器删除文件后存储空间不变,内存不变大,不释放空间。解决方法:点图中那个结束运行,再重新打开软件(直接滑动退出后台无效果)
- JavaScript之for循环、while循环 continue、break与代码规范
热门文章
- 给oracle用户赋权限导入导出,Oracle常用命令-用户、表空间、赋权限、导入导出...
- linux 如何运行r脚本,Linux系统下如何debug R脚本
- python怎么new对象_Python使用__new__()方法为对象分配内存及返回对象的引用示例
- 机器视觉 · 立体相机
- 全球及中国深紫外LED行业盈利状况与前景动态研究报告2022版
- axios捕获401 赋值token
- kibana一直弹出来报错?
- String,StringBuffer,StringBulider 三者的区别
- android ScrollView 控制行数
- Visual Studio Code搭建TypeScript开发环境