var str = "cdsccabbsdfgec"
function execMore (str) {
var arr = str.split("").reverse()
var obj = arr.reduce((prev, next) => {
prev[next] = (prev[next] || 0) + 1
return prev
}, {})
// 方法1、
// var tempArr = (Object.entries(obj)).sort((a, b) => b[1] - a[1])[0]
// console.log(`出现最多的字母是${tempArr[0]};出现次数是${tempArr[1]}次`)
// 方法二
var max_word,max_num = 0
for (var k in obj) {
if (max_num < obj[k]) {
max_num = obj[k]
max_word = k
}
}
console.log(`出现最多的字母是${max_word};出现次数是${max_num}次`)
}
function execMore1 (str) {
var reg = /(\w)\1+/g
var arr = (str.split("").sort()).join("")
var max_word,max_num = 0
arr.replace(reg, ($0, $1) => {
if ($0.length > max_num) {
max_num = $0.length
max_word = $1
}
return $1
})
console.log(`出现最多的字母是${max_word};出现次数是${max_num}次`)
}
function execMore2 (str) {
var arr = str.split("")
arr = arr.sort()
var n = 1
var arr1 = []
var maxmore = ""
for (var i = 0; i < arr.length; i++) {
if (arr[i] === arr[i + 1]) {
maxmore = arr[i]
n++
}
else {
arr1[n] = maxmore
n = 1
}
}
console.log(`出现最多的字母是${maxmore};出现次数是${n}次`)
}
function execMore3 (str) {
var arr = []
for (var i = 0 , len = str.length; i < len; i++) {
var index = -1
var j = 0
do {
index = str.indexOf(str[i], index + 1)
if (index !== -1) {
j++
}
} while(index !== -1)
arr[j] = str[i]
}
console.log(arr)
console.log(`出现最多的字母是${arr[arr.length - 1]};出现次数是${(arr.length - 1)}次`)
}
execMore3(str)
js字符串中出现次数最多的字母统计
最新推荐文章于 2022-09-28 21:00:00 发布