JavaScript统计数组元素出现次数的两种方法
作者:半夏时间:2026-10-22 20:29:45浏览:433
本文介绍在JavaScript中统计数组内元素重复出现次数的两种常用实现方式。通过遍历数组构建计数对象,以及利用Array.prototype.reduce方法简化逻辑,展示了如何高效获取如{apple: 2, orange: 3}这样的统计结果。
统计数组元素出现次数
在实际开发中,经常需要统计数组中特定元素出现的频次。
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闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
