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. is和==的区别

    is 比较的是内存地址 == 比较的是内容 当两个变量指向同一个对象的时候. is是True, ==也是True

  2. OpenGL秒安装及显示

    快毕业了,狂补OpenGL中.... 想当初安装opencv那么麻烦,现在openGL几秒钟就安装好了 注意:这里前提是你建立好了工程,如果连工程都不会建立~~GG 测试代码: 复制到工程进行测试! ...

  3. js常用内置对象

    数组Array 1创建方式 var colors = ['red','color','yellow']; var colors2 = new Array(); 2数组的赋值 var arr = []; ...

  4. ubuntu上virtualbox无法找到usb设备【解决】

    How to set up USB for Virtualbox? USB in different versions of Virtual Box For use of USB in Virtual ...

  5. ROS 进阶学习笔记(12) - Communication with ROS through USART Serial Port

    Communication with ROS through USART Serial Port We always need to communicate with ROS through seri ...

  6. PostgreSQL (简称gp)小集

    1. SQLyog & Navicat SQLyog可以管理 MySQL Navicat 可以管理 SQL Server,MySQL,PostgreSQL,SQLite 2. 日期及加减 no ...

  7. python的回调callback

    python的回调callback很强大,特别是函数参数可以是kw,因为一个函数编译后对应函数对象,函数对象中包含了参数的信息,当你调用函数时,会判断传入参数是否正确.通过导入模块,可以使用模块中的函 ...

  8. LinkedHashMap结构get和put源码流程简析及LRU应用

    原理这篇讲得比较透彻Java集合之LinkedHashMap. 本文属于源码阅读笔记,因put,get调用逻辑及链表维护逻辑复杂(至少网上其它文章的逻辑描述及配图,我都没看明白LinkedHashMa ...

  9. hasattr getattr setattr delattr --> (反射)

    class Room: def __init__(self,name): self.name = name def big_room(self): print('bigroot') R = Room( ...

  10. grep命令的常用选项

    Linux的grep命令是使用正则表达式进行文本搜索的,一些对程序员很有用的选项如下: -i   忽略大小写 -w  进行普通文件匹配,而不是正则表达式匹配 -c  只统计每个文件中匹配行数(默认是输 ...