首页
归档
笔记
树洞
搜索
友言

文章详情

Interesting People Record Interesting.

/ JavaScript / 文章详情

js中简单入门算法

Sonder
2022-08-15
1414字
4分钟
浏览 (1.8k)

js 统计出现最多的字符

复制代码
 let str = 'asgfhfgdhyjaaccccccsssccc';
        function findMax(str) {
            if (str.length === 1) {
                return str;
            }
            let charObj = {}
            // 新数组里没有就用1来代替
            // charAt() 方法可返回指定位置的字符
            for (let i = 0; i < str.length; i++) {
                if (!charObj[str.charAt(i)]) {
                    charObj[str.charAt(i)] = 1;
                } else {
                    charObj[str.charAt(i)] += 1;
                }
            }

            let maxChar = '',
                maxValue = 1;

            for (let k in charObj) {
                if (charObj[k] >= maxValue) {
                    maxChar = k; // 出现的次数
                    maxValue = charObj[k]; // 出现最多的
                }
            }
            return maxChar
        }
        console.log(findMax(str))

计算阶乘

如5x4x3x2x1,5x(5-1)

复制代码
function jc(n) {
   if(n === 1) return;
   return n * fn(n - 1)
}

求和 1-100

复制代码
function sum(n) {
    if(n === 1) return;
    return sum(n - 1) + n
}

求1-100的递归和

复制代码
function jh(num1, num2) {
    let num = num1 + num2;
    if(num2 + 1 > 100) {
        return num;
    }
    return jh(num, num2 + 1);
}
let sum1 = jh(1,2)
console.log(sum1); // 5050

走楼梯

有n个台阶,每次可以走1步或者2步,走完这个楼梯有多少种走法 (n-1)+(n-2)

复制代码
function zlt(n) {
   if(n === 1) return;
   return zlt(n - 1) + zlt(n - 2);
}
下一篇 / Vue2和Vue3的响应式原理

🎯 相关文章

💡 推荐文章

🕵️‍♂️ 评论 (0)