js根据需要计算数组中重复出现某个元素的个数


Posted in Javascript onJanuary 18, 2019

一、有时候的根据需要需要计算数组中某个元素重复出现的个数

var arr = ["apple","orange","apple","orange","pear","orange"];

计算出来重复出现的元素个数:{apple: 2, orange: 3, pear: 1}

二、代码实现

//统计一个数组中有多少个不重复的单词:
  // 不用reduce时: 
  var arr = ["apple","orange","apple","orange","pear","orange"]; 
  function getWordCnt(){ 
    var obj = {}; 
    for(var i= 0, l = arr.length; i< l; i++){ 
      var item = arr[i]; 
      obj[item] = (obj[item] +1 ) || 1; 
    } 
    return obj; 
  }
  console.log(getWordCnt());//{apple: 2, orange: 3, pear: 1}
  // 用reduce时: 
  var arr = ["apple","orange","apple","orange","pear","orange"]; 
  function getWordCnt(){ 
    return arr.reduce(function(prev,next){ 
      prev[next] = (prev[next] + 1) || 1; 
      return prev; 
    },{}); 
  } 
  console.log(getWordCnt());//{apple: 2, orange: 3, pear: 1}

补充知识点:

若查询对象中某个属性没有,可自行为其添加

var muziObj = {};
  muziObj['name'] = 'muzidigbig';
  muziObj.age = 21;
  console.log(muziObj)//{name: "muzidigbig", age: 21}

若有不足请多多指教!希望给您带来帮助!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
JavaScript中exec函数用法实例分析
Jun 08 Javascript
详解JavaScript中的客户端消息框架设计原理
Jun 24 Javascript
Jquery结合HTML5实现文件上传
Jun 25 Javascript
jQuery中extend函数详解
Jul 13 Javascript
js实现文本框支持加减运算的方法
Aug 19 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
May 24 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
Feb 08 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
Angular 封装并发布组件的方法示例
Apr 19 Javascript
vue-cli构建项目下使用微信分享功能
May 28 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
Nov 11 Javascript
js中的reduce()函数讲解
Jan 18 #Javascript
微信小程序实现分享朋友圈的图片功能示例
Jan 18 #Javascript
vue-cli3 karma单元测试的实现
Jan 18 #Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
Jan 18 #Javascript
如何解决.vue文件url引用文件的问题
Jan 18 #Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
Jan 18 #jQuery
vue.js实现的幻灯片功能示例
Jan 18 #Javascript
You might like
PHP 和 COM
2006/10/09 PHP
在php MYSQL中插入当前时间
2008/04/06 PHP
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
PHP的消息通信机制测试实例
2016/11/10 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
如何在PHP中生成随机数
2020/06/04 PHP
仿微博字符限制效果实现代码
2012/04/20 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
使表格的标题列可左右拉伸jquery插件封装
2014/11/24 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
基于BootStrap Metronic开发框架经验小结【八】框架功能总体界面介绍
2016/05/12 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
python冒泡排序算法的实现代码
2013/11/21 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
两道JAVA笔试题
2016/09/14 面试题
《三顾茅庐》教学反思
2014/04/10 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
在校学生证明格式
2015/06/24 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫