網站首頁 編程語言 正文
方法一: 通過for循環的方法統計一個字符串出現次數
-
首先,定義了一個字符串
str
,其值為'abcbdcbdscc'
。 -
創建了一個空對象
obj
,用于存儲字符出現次數的統計結果。 -
使用
for
循環遍歷字符串str
中的每個字符。在每次循環迭代時,使用charAt
方法獲取當前索引i
處的字符,并將其賦值給變量char
。 -
檢查對象
obj
中是否已經存在屬性char
。如果obj[char]
存在(即obj
中已經有該字符的計數),則將該屬性值加一(obj[char]++
)。否則,將屬性char
添加到對象obj
中,并將其初始值設置為 1(obj[char] = 1
)。
<script>
let str = 'abcbdcbdscc'
let obj = {}
for(let i = 0; i < str.length; i++) {
let char = str.charAt(i)
if(obj[char]) {
obj[char]++
}else {
obj[char] = 1
}
}
console.log(obj)
</script>
方法二 : 通過reduce方法統計出一個字符串出現次數
-
使用
split('')
方法將字符串str
拆分為字符數組。這將創建一個包含每個字符的數組,例如['a', 'b', 'c', 'b', 'd', 'c', 'b', 'd', 's', 'c', 'c']
。 -
調用數組的
reduce
方法。reduce
方法接受一個回調函數和一個初始值,用于對數組元素進行迭代和累積操作。 -
在回調函數中,使用了三元條件運算符。首先,檢查累積值對象
prev
中是否已經存在屬性item
(當前迭代的字符)。如果prev[item]
存在,則將其值加一(prev[item]++
)。如果不存在,則將屬性item
添加到prev
對象中,并將其初始值設置為 1(prev[item] = 1
)。 -
reduce
方法的初始值為一個空對象{}
,作為累積值prev
的初始狀態。 -
循環結束后,
count
對象中存儲了字符出現的統計結果。<script> let str = 'abcbdcbdscc' const count = str.split('').reduce((prev,item)=>{ prev[item] ? prev[item]++ : (prev[item] = 1) return prev },{}) console.log(count) </script>
如果小伙伴們想得出最大值字符和出現次數,循環遍歷即可得到哦。
原文鏈接:https://blog.csdn.net/TZJ999919/article/details/131659027
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-05-10 spring管理事務@Transactional注解相關參數
- 2022-08-17 Qt?QFrame的具體使用_C 語言
- 2022-02-24 Oracle中decode函數用法_oracle
- 2023-01-07 python導入其他目錄下模塊的四種情況_python
- 2022-07-06 C#多線程之線程池ThreadPool詳解_C#教程
- 2022-11-02 Python函數命名空間,作用域LEGB及Global詳析_python
- 2022-04-17 算法時間復雜度和空間復雜度
- 2023-02-17 linux?命令中的大于號、小于號的作用及代表的意思_linux shell
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支