0
点赞
收藏
分享

微信扫一扫

字符串小典例

爪哇驿站 2022-03-25 阅读 63
javascript

1、随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

var n = parseInt(Math.random() * 100000);
        var str = n + "";
        console.log(str);
        console.log("共有" + str.length + "位");
        for (var i = 0; i < str.length; i++) {
            console.log(str[i]);
        }

2、敏感词过滤

var arr = ["SM", "垃圾"];
        var str = "asdasdSMasdasdasdSMsdasdasdSMsadasd垃圾";
        for (var i = 0; i < arr.length; i++) {
            //遍历每一个敏感词 --去替换
            var item = arr[i];
            //*所有的字符串方法 都不改变字符串,若不定义新数组接收需重新赋值给该数组
            str = str.replaceAll(item, "**");
        }
        console.log(str);

3、数字字母混合6位验证码

 '1234567890qwertyuiopasdfghjklzxcvbnm'  随机在字符串中取六次

var str = "1234567890qwertyuiopasdfghjklzxcvbnm";
        var res = "";
        for (var i = 0; i < 6; i++) {
            var index = parseInt(Math.random() * str.length);
            var c = str[index];
            res = res + c;
        }
        console.log(res);

4、 已知字符串“a,a,b,c,c,d”,统计每个字符出现的次数,结果显示 a 2、b 1、c 2、d1。

var str = "a,a,b,c,c,d";
    var arr = str.split(","); //将字符串转为数组
    //console.log(arr);
    var resArr = arr.filter(function(v, i) {
        //v表示数组的每一项,i表示数组索引
        return arr.indexOf(v) == i;
    });
    //console.log(resArr);
    //让新数组中保留的每一个元素在原字符串中去匹配
    for (var i = 0; i < resArr.length; i++) {
        var time = 0;//求变量的值 在 str 中出现的次数
        for (var j = 0; j < str.length; j++) {
            if (resArr[i] == str[j]) {
                time++;
            }
        }
        console.log(resArr[i] + " " + time);
    }

补:字符串去重的方法

方法1:ES6的filter()方法

方法2:ES6的set() 方法

 方法3:for循环+ includes()方法

 方法4:for循环 + indexOf()方法

 方法5:for循环 + search()方法

 总:前两种是ES6新增方法,优点是使用方便,缺点有兼容性。

         后三种思路一样,区别在于使用的方法不一样

举报

相关推荐

0 条评论