字符串

string的常用API:

split():按照括号内指定的位置对字符串分割并保存在数组中。

charArt(index):返回括号内指定位置的字符

indexOf():返回括号内指定字符在字符串中首次出现的位置

substring(start,end):返回从start位置开始到end-1位置的字符串(end位不包括)

substr(index,length):返回index位置开始长度为length的字符

slice(start,end):返回从start位置开始到end-1位置的字符串(end位不包括)

其中一下substring()、sbustr()、slice()参数为负数时

slice(-1):出现的负数与字符串本身长度相加

substr(-1,-4):第一个参数如果是负数与字符串长度相加,第二个只要为负数就转换为0;

substring(-1):只要出现负数就转换为0;

参考:https://blog.csdn.net/weixin_42659625/article/details/82755827

1、记录字符串的字符与出现次数

function getNum(str){
    var obj={};
    for(var i=0;i<str.length;i++){
        obj[str[i]]= obj[str[i]]+1||1
    }
    return obj
}
console.log(getNum(str))

2、输入一行字符,分别统计字符串里面数字,字母,空格和其他字符的出现次数

var str='12,13.2 0 abA_'
//统计字符串里面数字,字母,其他字符的出现次数
function getNum(str){ 
   var alphNum=str.match(/[a-zA-Z]/g).length
   console.log('字母次数 '+alphNum);
   str=str.replace(/[a-zA-Z]/g,'')
   var dNum=str.match(/\d/g).length;
   console.log('数字次数 '+dNum);
   str=str.replace(/\d/g,'')
   var spaceNum=str.match(/\s/g).length
   str=str.replace(/\s/g,'')
   console.log('空格次数 '+spaceNum);
   console.log('其他字符次数 '+str.length);
}
getNum(str)

3、判断一个字符中出现次数最多的字符并统计次数

1、直接遍历字符串
var str='asfjasiofoivnoi'
function getNum(str){
    let obj={}; 
   for(var i=0;i<str.length;i++){
       obj[str[i]]= obj[str[i]]+1||1
   }
   let maxNum=0;
   let res;
    for(let j in obj){
        if(maxNum<obj[j]){
            maxNum=obj[j];
            res=j;
        }
    }
    console.log(res,maxNum)
    return obj;
} 
console.log(getNum(str))


2、转成数组遍历
let str = 'asfjasiofoivnoi';
            function count(str){
                let obj={},
                    arr = str.split('');// 分割成数组
                //遍历数组
                arr.forEach(function(val,index){
                    //将数组的元素存入对象,初始值为1,如果后面遍历的元素之前已存在就+1
                    if(obj[val]){
                        obj[val]+=1;
                    }else{
                        obj[val]=1                      
                    }
                })
                //遍历对象中的属性(字符),值(出现的次数)
                let num=0,
                    res;
                for(let i in obj){
                    if(num<obj[i]){
                        //将最多的次数赋给num
                        num=obj[i];
                        //最多次数的属性(字符串)赋给res
                        res=i;
                    }
                }
                console.log('最多的字符串是'+res+', 出现次数是'+num);
            }
            count(str);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值