js 字符串查找和练习

/* //字符串对象    根据字符返回位置

        var str = '改革春风吹满地';

        console.log(ser.indexOf('春'));

        console.log(ser.indexOf('春',3));    // 3表示从字符数中 索引号为3的位置开始往后查找

 */

        //查找字符串中某个字符出现的位置及次数

        var str = "abcoefoxyosdasdosdao";

        var index = str.indexOf('o');      //把第一个查出来

        var num = 0;

        while( index !== -1){             

            console.log(index);          //先输出第一个o出现的位置

            num++;

            index = str.indexOf('o', index + 1);     //然后index+1 从第一个o出现的位置后面开始继续查找

        }

        console.log('o出现的次数' + num);

 

        // 有一个对象  来判断是否有该属性   对象['属性']

        var o = {

            age: 18

        } 

        if( o['age']){

            console.log('里面有该属性');

        }else{

            console.log('里面没有');

        }

 

        // 判断一个字符串'abcdodsdosdoovsdo' 中出现次数最多的字符,并统计其次数

        // 核心算法  利用 charAT() 遍历这个字符串 

        // 把每个字符都存储给新对象   如果对象没有这个属性  = 1   存在这个属性   + 1

        var str2 = 'abcdodsdosdoovsdo';

        var o = {};

        for( var i = 0 ; i < str2.length ; i++){

            var chats = str.charAt(i);

            if( o[chats] ){

                o[chats]++;

            }else {

                o[chats] = 1;

            }

        }

        console.log(o);

 

        // 遍历对象

        var max = 0;

        var ch = '';

        for ( var k in o){

            // k 得到的是属性名

            // O[K] 得到的是属性值

            if ( o[k] > max){

                max = o[k];

                ch = k;

            }

        }

        console.log(max);

        console.log('最多的字符是' + ch);


 

        //字符串操作方法

        // 1. concat('字符串1','字符串2'。。。。);       添加

        var str5 = 'andy';

        console.log(str5.concat('what'));

 

        // 2. substr('截取的起始位置' , '截取几个字符'):     取值

        var str6 = '冷冷雨喔噢噢';

        console.log(str6.substr(3 , 2));

 

        // 3. replace('被替代的字符' , '要替代的字符' )       取代

        var str7 = 'anglebaby';

        console.log(str7.replace('a','b'));

 

        //eg

        var str8 = 'asdjkkdjsfgaSADAS';

        while( str8.indexOf('k') !== -1){

            str8 = str8.replace('k' , 'F');

        }

        console.log(str8);

 

字符串练习

 var str = 'asbvaskdkjasdjl213asd';

        console.log(str.length);

 

        console.log(str[0]);

        console.log(str[3]);

 

        console.log(str.replace('a','s'));

 

        console.log(str.substr(1,5));

 

        var o = {};

        for( var i = 0 ; i < str.length ; i++){

            var chats = str.charAt(i);

            if( o[chats]){

                o[chats]++;

            } else {

                o[chats] = 1;

            }

        }

        console.log(o);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值