练习 1: 得到一个任意长度的字符串,2:将大写字符和小写字符分离出来,存储到一个二维数组中.统计一个随机字符串中,3:某个字符出现的个数。 4:任意字符串实现翻转。

1:随机得到一个任意长度的字符串。只能包含大小写字符。
2:从上述方法得到的随机字符串中,将大写字符和小写字符分离出来,存储到一个二维数组中。二维数组中包含了2个一维数组,一个存大写字符,一个存大写字符。
返回二维数组。
3:统计一个随机字符串中,某个字符出现的个数。
4:任意字符串实现翻转。

<script>
    //1
    function createStr(length) {
        //使用循环产生length个随机字符。连接返回。
        var str = "";
        for (let i = 0; i <length ; i++) {
            //得到一个随机的大写字符
            var ch = getUpperChar();
            //随机大小写累加
            str += random(0,2) === 0 ? ch : ch.toLowerCase() ;
        }
        return str;
    }
    //得到一个随机的大写字符
    function getUpperChar() {
        const MIN_CODE = 65;//A
        const MAX_CODE = 65+26;
        var code = random(MIN_CODE,MAX_CODE);
        return String.fromCharCode(code);
    }
    function random(min,max) {
        return ~~(Math.random()*(max-min)+min);
    }

    console.log (createStr(10));
    //10-35直接的一个随机值
    // console.log ((~~(Math.random () * (36 - 10) + 10)).toString (36));a-z
    
    //2
    function strToArray(str) {
        const UPPER = 0;
        const LOWER = 1;
        var arr = [[],[]];
        //遍历字符串,判断,添加
        for (let i = 0; i < str.length; i++) {
            var ch = str.charAt(i);
            //如果ch是大写的。
            if(isUpperChar(ch)){
                arr[UPPER].push(ch);
                continue;
            }
            arr[LOWER].push(ch);
        }
        return arr;
    }

    function isUpperChar(ch) {
        return ch >="A" && ch <="Z";
    }

    var str = createStr(10);
    console.log (str);
    var array = strToArray(str);
    console.log (array);

    //遍历,这个比对,计数器记录,返回计数器。
    function counerChar(str,ch) {
        var arr = str.split(ch);
        console.log (arr);
        return arr.length - 1;
    }
    var str = "aaaaa";
    var counter = counerChar(str,"a");
    console.log (counter);

    //翻转字符串
    function reverse(str) {
        //链式
        return str.split("").reverse().join("");
    }

    str = "123456789";
    console.log (reverse(str));
    
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值