//第一種一般方法
var str = 'asdfghasdfgfgersdfsdfgfdsdddsd';
function getMore(str){
//把字串的每一項當做屬性名存起來
//儲存之前 先看 物件中有沒有這個屬性,沒有就給obj增加一個屬性 屬性值是1
//沒有的話 就在 他現在的 值基礎上 加1
let obj = {};
for(let i =0;i<str.length;i++){
let t = str[i];
if(obj.hasOwnProprperty(t){
obj[t] += 1;
} else{
obj[t] = 1;
}
}
let key = '',num = 0;
for(var k in obj){
if(obj[k] >num){
key = k;
num = obj[k]
}
}
return{
key,
num
}
}
console.log(getMore(str))
//{key: "d", num: 9} //{n: "d", m: 9}
//第二種 match捕獲
var str = 'asdfghasdfgfgersdfsdfgfdsdddsd';
function getMore2(str){
//先獲取鄉轉為陣列的字串aadddddddddeffffffgggghrssssss
str = str.split('').sort().join('');
let reg = /(\w)\1*/g
var arr = str.match(reg);
//獲取相同字元組成的陣列
arr.sort((a,b) =>{
return b.length - a.length
//降序 第一項就是想要的
})
return{
key:arr[0][0],
num:arr[0].length
}
}
console.log(getMore2(str))//{key: "d", num: 9}
//第三種方法replace實現
var str = 'asdfghasdfgfgersdfsdfgfdsdddsd';
function getMore3(str) {
str = str.split('').sort().join('');//
let reg = /(\w)\1*/g;
let key = '',num = 0;
str.replace(reg,function(a,b){
//a是大正則dddddddddd
//b是第一個分組裡的內容d
if(a.length >num){
num = a.length;
key = b;
}
})
return{
key,
num
}
}
console.log(getMore3(str))//{key: "d", num: 9}
複製程式碼
三種方法實現算出字串中出現多字元
相關文章
- Java多執行緒【三種實現方法】Java執行緒
- 輸出字串中出現次數最多的字元和次數字串字元
- 判斷字串中出現最多的字元,並統計次數字串字元
- 獲取一個字串中出現最多的字元和他的個數字串字元
- 前端面試題8----統計字串中出現最多的字元前端面試題字串字元
- python中7種方法實現字串的拼接Python字串
- 三種方法實現strlen函式函式
- 三種方法實現CSS三欄佈局CSS
- 巧妙方法教你實現多種main()AI
- 實現三欄佈局的幾種方法
- 快速排序的三種實現方法 (C++)排序C++
- 元素水平垂直居中三種方法實現
- Java實現多執行緒的三種方式Java執行緒
- ts - 兩種方法實現忽略大小寫的字串排序字串排序
- python 字串replace方法實現探索Python字串
- Spring Data JPA中實現更新插入三種方法Spring
- Python佇列的三種佇列實現方法Python佇列
- Verilog乘法的實現——幾種使用多級流水實現方法對比(2)
- Mac 右鍵選單中出現多個 Edge 版本解決方法Mac
- 快速排序三種實現排序
- leetcode無重複字元的最長字串 python實現LeetCode字元字串Python
- 解析Json字串的三種方法JSON字串
- 三種方法實現:獲取 url 中的引數
- 2.刪除字串中的某個字元。(藉助字元陣列實現)字串字元陣列
- 求出現在字串1而沒有出現在字串2中的字元字串字元
- springAOP的三種實現方式Spring
- css高階應用三種方法實現多行省略CSS
- 多種跨域方式實現原理跨域
- SQLServer用函式實現對字串按照特定字元進行拆分SQLServer函式字串字元
- 實現AI的三種途徑AI
- 三種UIScrollView巢狀實現方案UIView巢狀
- python 三種方式實現截圖Python
- Python實現二叉樹的三種深度遍歷方法!Python二叉樹
- 多執行緒的三種實現方式及靜態代理模式執行緒模式
- CSS3實現多種背景效果CSSS3
- 分散式鎖的多種實現方式分散式
- 【Spring Security】實現多種認證方式Spring
- 實現多個標籤頁之間通訊的幾種方法