js常见算法
本人js菜鸟,算法更不用说了,肯定更菜,记录这个只是为了想慢慢提高自己的算法能力。。。
xiaoshuo-ss-sfff-fe 变为驼峰xiaoshuoSsSfffFe
let str='xiaoshuo-ss-sfff-fe';
let arr=str.split("")
arr.map((item,index)=>{
if(item==='-'){
arr[index+1]=arr[index+1].toUpperCase()
arr.splice(index,1)
}
})
统计字符串中出现最多的字母
let str='xiaoshuo-ss-sfff-fe';
let obj={}
let o=str.split("").map(item=>{
if(obj[item]){
obj[item]++
}else{
obj[item]=0
obj[item]++
}
return obj
}).splice(-1,1)[0]
const bb=Math.max(...Object.values(o))
for(let key in o){
if(o[key]===bb){
console.log(key)
}
}
//这种方法可以统计出次数相同的字符串
使用js递归求斐波那列数
斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。
function number(n,start=1,total=1){
if(n<=2){
return total;
}
return number(n-1,total,total+start)
}
console.log(number(6))