计算 1-100的和以及统计字符串中出现最多的字符
- 使用递归的方法计算1-100的和
function add (num1, num2) {
// 计算出前两个数的和
let num = num1 + num2
// 判断如果最后一位数大于 100 就返回之前相加的和
if (num2 + 1 > 100) {
return num
} else {
// 前两个相加的和加上第三位的数
return add(num, num2 + 1)
}
}
console.log(add(1, 2));
- 给定一个字符串,统计出现最多的字符
let str = 'gjowhgjnwogohgiwghhhhhhhh'
function findMax (str) {
// 判断如果str只有一个字符就返回该字符
if (str.length === 1) {
return str
}
// 定义一个对象用来存储遍历得到的属性和值
let charObj = {}
for (let i = 0; i < str.length; i++) {
// 如果charObj中没有这个字符就是第一次出现,则值为1,反之则自增1
!charObj[str.charAt(i)] ? charObj[str.charAt(i)] = 1 : charObj[str.charAt(i)] += 1
}
console.log(charObj);
// 出现最多次数的字符串
let charStr = '',
// 最大值
maxNum = 1
// 遍历charObj中的属性
for ( let k in charObj) {
// 假设对象中的某个字符串的值大于maxnum
if (charObj[k] >= maxNum) {
charStr = k
maxNum = charObj[k]
}
}
console.log(charStr);
}
findMax(str)