美文网首页
709-转换成小写字母

709-转换成小写字母

作者: 海因斯坦 | 来源:发表于2018-10-30 23:09 被阅读0次

    题目描述

    实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。
    示例 1:
    输入: "Hello"
    输出: "hello"

    分析

    题目要求实现ToLowerCase函数,也就是将大写字母转换成写小字母。注意不能直接调用现成的toLowerCase函数。题目其实需要考虑两点

    1. 找出大写字母
    2. 将大写字母转换成相对应的小写字母
      思考一下在编程中我们如何判断一个字母是不是大写字母?
      通过判断字母的编码值,如果它的编码值在65-90之间那么它就是大小字母。同理如果它的编码值在97-122之间,那么它就是小写字母,也就是说这样的话,我们不仅可以通过编码找出大写字母,而且还可以通过编码值实现大写字母和小写字母的转换。
    var toLowerCase = function(str) {
        var code;
        var res = '';
        for(var i = 0;i < str.length;i++){
          code = str.charCodeAt(i);
          //找出大写字母
          if(code >= 65 && code <=90){
            //将大写字母转化为小写字母
            res += String.fromCharCode(code + 32);
          }else {
            res += str[i];
          }
        }
        return res;
      };
    

    总结

    虽然是一道很简单的题目,但是这里涉及到了关于编码一些常见的知识,这些知识很零碎,如果我们平常不注意,在面试时需要手写代码就比较麻烦了。

    1. A-Z 的 ASCII编码范围为 65-90 。a-z的ASCII编码范围是97-122.
    2. str.charCodeAt(index):是字符串对象获取指定位置字符的ASCII编码值.
    3. String.fromCharCode(code):是String类上的方法,通过ASCII编码获取相对应的字符.

    相关文章

      网友评论

          本文标题:709-转换成小写字母

          本文链接:https://www.haomeiwen.com/subject/uuantqtx.html