javascript|计算一个元素在数组中出现的次数
目录
- 前言
- 一、需求
- 二、思路
- 三、代码演示
-
- 1.基础写法
- 2.进阶写法
- 四、结果展示
- 总结
前言 如何计算一个元素在数组中出现的次数呢?本文通过基础写法和进阶写法进行讲解,还不会的小伙伴儿快来瞅瞅~
一、需求 求以下数组中每个元素出现的次数,示例结果:{a: 1, b: 3, c: 3}
let arr = ["b", "c","b", "c","a", "b", "c"]
二、思路 通过JavaScript的内置对象Array提供的reduce方法,来计算数组内元素的出现次数。
- reduce语法
arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
- 步骤
给reduce方法设置一个累计器并赋初始值为{}
判断数组中的每一项是否存在于累计器对象中
不存在就使用当前项作为累计器对象的键,并赋值为1
存在就让累计器中对象的键值对的值在原先基础上+1
每循环一次将累计器的值返回供下一次循环使用
let arr = ["b", "c","b", "c","a", "b", "c"]
let result = arr.reduce((acc,cur) => { if(cur in acc){acc[cur]++
} else {acc[cur] = 1
}
return acc
},{
})
console.log(acc)
2.进阶写法 代码如下(示例):
let arr = ["b", "c","b", "c","a", "b", "c"]
let result = arr.reduce((acc,cur) => (cur in acc ? acc[cur]++ : acc[cur] = 1, acc),{
})
console.log(result)
四、结果展示 使用Vscode编辑器中自带的终端,使用node命令运行js文件查看结果。
文章图片
总结 【javascript|计算一个元素在数组中出现的次数】每天进步一点点儿,只为遇见更好的自己~
推荐阅读
- 一个人的旅行,三亚
- 一个小故事,我的思考。
- 一个人的碎碎念
- 七年之痒之后
- 我从来不做坏事
- 异地恋中,逐渐适应一个人到底意味着什么()
- 迷失的世界(二十七)
- live|live to inspire 一个普通上班族的流水账0723
- 遗憾是生活的常态,但孝顺这件事,我希望每一个人都不留遗憾
- 事件代理