var all = "02 06 11 12 19 29 09 10 12 19 22 29 08 11 13 19 28 31 07 08 09 15 22 27 10 18 19 29 32 33 05 07 10 23 28 29 01 07 10 16 22 33 11 12 13 16 23 25 07 09 18 22 23 29 03 06 13 14 19 28 03 05 06 13 20 22 01 05 06 16 25 30 01 05 11 20 22 24 03 08 14 20 24 26 14 18 21 25 28 29 03 05 14 25 26 30 01 12 16 20 22 24 03 07 14 23 25 27 05 07 18 19 22 24 01 02 04 15 17 22 01 02 04 15 17 22 01 04 08 09 14 15 01 03 06 19 21 29 06 09 10 14 28 30 03 11 12 16 21 23 02 12 13 18 25 27 03 06 11 26 30 32 01 11 12 18 25 27 11 15 20 21 26 33 09 12 20 24 28 31 06 08 13 15 22 33 11 12 13 19 26 28 03 10 21 23 27 33 01 08 17 20 21 22 05 10 17 23 26 32 05 09 10 12 17 19 13 14 20 25 27 31 02 07 08 09 17 29 02 20 21 28 31 33 14 18 19 26 30 31 01 14 16 17 20 31 07 18 24 29 31 33 01 08 11 26 28 31 05 09 13 15 18 26 07 11 12 13 18 19 06 10 23 25 26 29 02 05 07 09 11 27 06 14 19 20 21 23 05 08 15 20 27 30 04 07 11 14 29 32 03 07 20 21 25 31 01 19 25 26 27 33 02 06 12 17 25 28 01 03 06 19 21 29";
var arr = all.split(" ");
var b = {}; // 用来存储次数的对象
// arr 源数组
// fn 用来对数据进行加工,reduce函数本身并没有进行次数累计功能
// initial 存储统计次数用的函数
reduce(arr, function(s, s1, idx) {
s[s1] = (s[s1] + 1) || 1;
return s;
}, b);

function reduce(arr, fn, initial) {
return(function reduceOne(index, value) {
if(index > arr.length - 1) return value;
return reduceOne(index + 1, fn(value, arr[index], index, arr));
})(0, initial);
}

js 统计数组中元素的个数的更多相关文章

  1. js删除数组中元素的方法

    一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...

  2. js删除数组中元素 delete 和splice的区别

    例如我有一个数组: var array = ["aa","dd","cc","aa"] ,我想删除这个数组的“dd”元素 ...

  3. js计算数组中元素出现的次数,并实现去重

    function getCount(arr, rank,ranktype){ var obj = {}, k, arr1 = []; for (var i = 0, len = arr.length; ...

  4. LeetCode - 统计数组中的元素

    1. 统计数组中元素总结 1.1 统计元素出现的次数 为了统计元素出现的次数,我们肯定需要一个map来记录每个数组以及对应数字出现的频次.这里map的选择比较有讲究: 如果数据的范围有限制,如:只有小 ...

  5. #PHP 数组添加元素、统计数组相同元素个数、改变数组key值~_~

    一.数组添加元素 1.定义和用法: array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度. 2.语法: array_push(array,value1, ...

  6. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

  7. js从数组中删除指定值(不是指定位置)的元素

    RT: js从数组中删除指定值的元素,注意是指定值,而不是指定位置. 比如数组{1,2,3,4,5},我要删除其中的元素3,但是这个3的位置我是不知道的,只知道要删除值为3的这一个元素,请问要怎么写? ...

  8. js将数组中一个或多个字段相同的子元素中合并

    最近js中遇到js将数组中一个或多个字段相同的子元素中合并,相信很多朋友也有遇到,大家可能有多种方法,我在这里记录一个相对简单的方法,当然大家如有其它更好的方法,请提出来大家共同学习. //将经济事项 ...

  9. js 删除 数组中某个元素(转载)

    来源:https://www.jb51.net/article/134312.htm js删除数组中某一项或几项的几种方法 https://www.jb51.net/article/154737.ht ...

随机推荐

  1. Java之24种设计模式-UML-模型图解读

    Design Patterns 策略模式: 观察者模式: 经典单例模式: private static class AuthenticationHolder { private static fina ...

  2. JIRA敏捷sprint需求统计设置

    1.JIRA->My Dashboard ->添加它的过滤条件 2.过滤条件产生,将sql拷贝至步骤1编辑的JQL中

  3. JVM总结-java基本类型

    为什么要引进基本类型? Java 引进了八个基本类型,来支持数值计算.Java 这么做的原因主要是工程上的考虑,因为使用基本类型能够在执行效率以及内存使用两方面提升软件性能. Java 虚拟机的 bo ...

  4. c++ 接口类

    什么是接口类?2017-06-07 接口类就是只提供接口不提供实现的类,就是接口类,接口类和抽象类对C++而言,没有什么区别. 接口类有如下特点: 子类来实现接口类中没有实现的所有接口. 接口方法前面 ...

  5. VMware里的linux系统里的命令行里会有bee的声音,要如何关掉

    取消bell报警声的方法:登陆linux系统vi /etc/inputrc找到set bell-style none 将前面的#去掉,之后重启系统即可解决声音问题 若不见效可以通过下面的方式解决下be ...

  6. Oracle exp/imp 导出/导入

    set NLS_LANG=AMERICAN_AMERICA.AL32UTF8 exp jjhd_test/11111111@a_syj file="d:\jjhd_test.dmp" ...

  7. djangobb之debug-toolbar查看其sql

    #djangobb之views show_forum(request, forum_id, full=True) default queries including duplicates ) Quer ...

  8. redisCluster 使用 pipeline功能

    Redis从3.0版本后引入了令人兴奋的cluster集群模式,相信很多人都尝试过了,在高兴之余却发现redis官方的cluster对于Java客户端的jedis支持却不是很好,至少目前的版本clus ...

  9. gulp 添加版本号 解决浏览器缓存问题

    分别安装gulp-rev.gulp-rev-collerctor.gulp-asset-rev,安装了的略过 npm install gulp-rev --save-dev npm install g ...

  10. sonar自定义规则

    Sonar并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方 ...