JavaScript的知识整理(7)

来源博客:【Harryの心阁

  • 数组转换,字符串,数组转换,字符串转换

字符串

  1. 数组名.toString();将数组转化为字符串
  2. 数组名.join(分隔符),将数组使用分隔符分开

字符串的不可变性

字符串不可变性不要大量拼接字符串

基础包装类型

  1. 把简单数据类型包装成了复杂数据类型
  2. 把临时变量的值给str
  3. 销毁这个临时变量

字符串对象

数组名.indexOf(‘查找的字符’, [起始的位置]);从起始位置开始查找

  1. 查找字符串中某个元素出现的位置及其字数
  2. 原理:先查找第一个元素出现的位置
  3. 只要indexOf返回的结果不是-1就往后继续往后查找
  4. 因为indexOf只能查找到第一个,所以后面的查找,一定是当前索引号加1

    var str = 'abiosabsabsaebasxabsab';
    var index = str.indexOf('a');
    var num = 0;
    while (index != -1){
        console.log(index);
        index = str.indexOf('a', index +1);
        num++;
    }
    console.log('出现的次数为'+num);

根据位置返回字符

  1. 字符名.charAt(索引值);可以根据位置返回字符
  2. 字符名.charCodeAt(索引号);返回的使相应索引号字符的ASCII码值
  3. 字符名[索引值],指定位置
  • 判断一个字符串‘dadadacasawfefsxDugkgdkada’中出现次数最多的字符,并提交其次数
    var str = 'dadsdadjihoihbaadhhzahizjcanadasj';
    var o = {};
    for (var i = 0; i <= str.length; i++) {
        var chars = str.charAt(i);
        if (chars in o) {
            o[chars]++;
        }
        else {
            o[chars] = 1;
        }
    }
    console.log(o);
    var max = 0;
    var ch = '';
    for (var k in o){
        if(o[k]>max){
            max = o[k];
            ch = k;
        }   
    }
    console.log('输出字符最多的次数为:'+max+'次');
    console.log('输出次数最多的字符为:'+ch);

字符串的操作方法

  1. 字符名.cancat(‘字符串’),实现字符串的相加
  2. 字符名.substr(strat索引号,区字符的长度)
  3. 替换字符 字符名.replace(‘被替换的字符’,‘替换为的字符’);
  4. 字符转换为数组
  • 使用while循环
    var str = 'dawdsadwasdaadadadw';
    while (str.indexOf('d') != -1) {
        str = str.replace('d', '*')
    }
    console.log(str);
  • 使用for循环
    var str = 'dawdsadwasdaadadadw';
    for (var i = 0; i <= str.length; i++) {
        if(str.indexOf('d') != -1){
            str = str.replace('d', '*')
        }
    }
    console.log(str);

字符转换为数组

  1. 字符名.split(’,’);可以使用不同的分隔符分开
  2. join()数组转换为字符块
  3. toUpperCase,toLowerCase() 大写小写
 var str = 'abaasdffggghjkkfssss3444343'
    // console.log(str.length);
    // var i = prompt('请输入要取出的字符索引号:');
    // var s = prompt('请输入要查询的字符:');
    // alert('使用类似返回数组的方法返回字符为:'+str[i]+'\n使用另一种charAt()返回字符为:'+str.charAt(i));
    // if(str.indexOf(s) != -1){
    //     alert('您输入字符存在')
    // }
    // else{
    //     alert('您输入的字符不存在')
    // }
    // for(var i = 0; i<=str.length;i++){  
    //     str = str.replace('g','22');
    //     str = str.replace('ss', 'b');
    // }
    // alert(str);
    // var str1 = str.substr(3, 3)
    // alert(str1)
    var o = {};
    for (var i = 0; i <= str.length; i++) {
        var chars = str.charAt(i);
        if (chars in o) {
            o[chars]++;
        }
        else {
            o[chars] = 1;
        }
    }
    console.log(o);
    var max = 0;
    var ch = '';
    for (var k in o){
        if(o[k]>max){
            max = o[k];
            ch = k;
        }   
    }
    console.log('输出字符最多的次数为:'+max+'次');
    console.log('输出次数最多的字符为:'+ch);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Harry-iu

顺手给小编加个鸡腿????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值