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))

 

posted @ 2019-09-30 16:00  温润如玉Ayu  阅读(495)  评论(0编辑  收藏  举报