JS:string常用方法API_练习题

1. 给一段文章中的全部指定词语进行过滤,自己编辑一个敏感词数组,将指定文章中的所有敏感词都替换为等量的 *

    <script>
        var dirtywords = ['萨比', '你妹', '握草'];
        var passages = "萨比,快点过来,你妹在等你,握草,你这个萨比!";

        for (const word of dirtywords) {
            passages = passages.replaceAll(word, function (str) {
                newstr = ""
                for (let i = 0; i < str.length; i++) {
                    newstr += '*'
                }
                return newstr
            })
        }
        console.log(passages); //**,快点过来,**在等你,**,你这个**!
    </script>

2. 反转字符串 例如:var str = 'abcdefg', 要求结果: gfedcba

    <script>
        function reverseStr(str = "") {

            // 将字符串肢解为字符数组
            // var chars = str.split("")
            // console.log(chars);

            // // 字符数组翻转
            // chars.reverse()
            // console.log(chars);

            // // 连接回字符串
            // str = chars.join("")
            // console.log(str);

            return str.split("").reverse().join("")
        }
        console.log(reverseStr("abcdefg")); //gfedcba
    </script>

3. 统计字符串中每个字符的个数?例如:var str = 'abcdacbabcbababcbabcabd',结果:{ a: 出现次数, b: 出现次数, ...}

    <script>
        function countChars(str = "") {
            // 准备统计字符频次
            var obj = {}

            // 遍历每个字符
            for (var i = 0; i < str.length; i++) {
                // console.log(str[i],str.charAt(i));
                var char = str[i]

                // 如果该字符在obj中没有记录=>char为首次出现
                if (obj[char] === undefined) {
                    // obj.a = 1
                    obj[char] = 1
                }

                // char之前出现过
                else {
                    // obj.a = obj.a + 1
                    obj[char] += 1
                }
            }
            return obj
        }
        console.log( countChars('abcdacbabcbababcbabcabd')); //{a: 7, b: 9, c: 5, d: 2}
    </script>

4. 编写函数,判断一个字符串是否是 “可回文字符串”,可回文字符串: 正着和反着一样,例如: `abcba` / `你好世界世好你`,返回值是布尔值

    <script>
        function isReverableStr(str=""){
            // split 字符串肢解为字符数组
            // reverse 字符数组翻转
            // join 翻转后的数组重新连接为字符串(此时字符串已翻转)
            // == 判断翻转后的字符串是否等于原字符串
            // 如果相等则是 否则不是 直接将相【是否相等】作为【是否可回文】返回
            return str.split("").reverse().join("")==str
        }
        console.log(isReverableStr("你好世界世好你")); //true
        console.log(isReverableStr("你好世界世好你啊")); //false
    </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值