709 to lower case 及字符串方法总结

/**
 * @param {string} str
 * @return {string}
 */
var toLowerCase = function(str) {
    var result = '';
    for(var i =0; i< str.length; i++){
        var code = str[i].charCodeAt();
    
        if(65 <= code && code <= 90 ){
            code +=32;
            result += String.fromCharCode(code); 
        }
      else{result += str[i]; }
    }
    return result;
};
console.log(toLowerCase('Hello'));

这里是用了一个新的result='';
遍历字符串,如果是大写字母(用函数charCodeAt()获取ascii码),则+32利用String.fromCharCode(xxx)变成小写,加入到result中,不是的话就正常加入

这里着重学习2个函数,str.charCodeAt() 和 String.fromCharCode(xxx),  并且学会使用ASCII码去解决相关的问题。

注意:

字符串不可改变,不可通过for遍历去改变
split()用于字符串转换成数组,2个参数,(分隔符,最大元素数)
splice()用于数组,改变原数组,slice()即可用于数组,也可用于字符串

引申出来一个比较大的话题:    关于JS字符串的相关方法
1.和数组关系密切     数组和字符串可以相互转换
      字符串的话,用split()方法,数组的话用join()方法
2.字符串转换
       xxx.toString()    String(xxx)       ''+xxx     三种方法都可以
3.字符串分割成数组    split()
4.获取字符串长度   str.length     有一个技巧就是可以通过str[str.length - 1]获取到最后一项的元素
5.可以用indexOf()查询字符串      查到返回下标,查不到返回-1,可以用这个判断是否存在
    lastIndexOf()可以后面开始查询,返回第一个查到的下标
6.字符串替换    replace('a','b')     a替换成b    可以在第一个字符串参数使用正则表达式,/a/g  全局替换掉a
7.    str[0].charCodeAt()  返回ascii码      String.fromCharCode(90)   返回'z';
8.字符串拼接   
     可以直接相加
         也可以使用  str1.concat(str2 )
9.获取子字符串   
     第一种可以用 slice(0,5)   左闭右开      
         第二种subString(0,5)    依旧是左闭右开
     第三种   subStr(0,5)   第二个参数是字符的数量  这里代表拿5个字符
10.大小写转换
     str.toUpperCase()   
     str.toLower()
11.字符串匹配
     match()方法   接受一个正则表达式的变量,返回数组,有g返回匹配字符串的数组 ,没有g返回匹配的一个字符串和一个捕获组(index和input)  找不到返回null
12.字符串比较
      可以用大于,小于,等于号比较
      可以用localeCompare()比较

猜你喜欢

转载自blog.csdn.net/holiday19950913/article/details/85213508