709-转换成小写字母

题目描述

实现函数 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编码获取相对应的字符.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。