• 字符串转换为驼峰格式——js练习


    题目要求

    完善函数 convertToCamelCase 的功能。函数 convertToCamelCase 会转换传入的字符串参数 string 为驼峰格式,并返回转换后的字符串。具体要求如下:

    • 参数 string 是以中划线(-)连接单词的字符串,需将第二个起的非空单词首字母转为大写,如 -webkit-border-radius 转换后的结果为 webkitBorderRadius。
    • 返回转换后的字符串
    function convertToCamelCase(str) {
      // 去除中划线分隔符获取单词数组
      var strArr = str.split('-');
      // 如果第一个为空,则去掉
      if(strArr[0] === '') {
        strArr.shift();
      } 
      // 遍历第二个单词到最后一个单词,并转换单词首字母为答谢
      for(var i = 1, len = strArr.length; i < len; i++){
        // 如果不为空,则转成大写
        if(strArr[i] !== '') {
           strArr[i] = strArr[i][0].toUpperCase() + strArr[i].substring(1);
        }   
      }
      return strArr.join('');
    }

    注意:检查第一项是否为空

    思路:

    • 去除参数字符串的中划线连接符,在这里使用到字符串分割方法 split
    • 获取去除中划线连接符的单词数组,并保存在一个新的变量 strArr
    • 需要判断该数组第一项是否为空,如果为空则去掉。如 '-a-b-c'.split('-'); // 返回的是 ['', a, b, c] 第一项便为空字符串
    • 使用循环语句,设置起始坐标 i = 1 即只从第二个单词开始来进行处理
    • 将每个单词的首字母调用字符串大写方法 toUpperCase
    • 将更改的首字母字符和单词后面的字符再次拼接起来,成为一个新的单词字符串
    • 循环后将单词数组拼接成一个完整的字符串,使用了数组的方法 join

     

    用到的知识点如下:

    • 分割字符串 split

       split() 方法可以把字符串分割为字符串数组。如下所示:

        "2:3:4:5".split(":")    // 将返回 ["2", "3", "4", "5"]
        "|a|b|c".split("|")    // 将返回 ["", "a", "b", "c"]


    更多: http://www.w3school.com.cn/jsref/jsref_split.asp
    • 截取字符串 substring

        substring() 方法用于提取字符串中介于两个指定下标之间的字符。如下所示:

         var str = 'Hello World!';
         console.log(str.substring(3)); // 将返回 lo world!

    下图为w3school的定义&解释



    更多:http://www.w3school.com.cn/jsref/jsref_substring.asp

    • 字符串转换大写 toUpperCase() / toLocaleUpperCase()

        toLocaleUpperCase() 方法用于把字符串转换为大写。如下所示:

         var str = 'Hello World!';
         console.log(str.toLocaleUpperCase()); // 将返回 HELLO WORLD!

    更多:http://www.w3school.com.cn/jsref/jsref_toLocaleUpperCase.asp
    http://www.w3school.com.cn/jsref/jsref_toUpperCase.asp

    • 拼接字符串 join()

            定义和用法

          join() 方法用于把数组中的所有元素放入一个字符串。

          元素是通过指定的分隔符进行分隔的。

     
    更多:http://www.w3school.com.cn/jsref/jsref_join.asp


    • 更多方法:http://www.w3school.com.cn/jsref/jsref_obj_string.asp

    
    
  • 相关阅读:
    [Leetcode] Flatten Binary Tree to Linked List
    [Leetcode] Letter Combinations of a Phone Number
    [Leetcode] Distinct Subsequences
    [Leetcode] Partition List
    [Leetcode] Reverse Linked List II
    [Leetcode] Swap Nodes in Pairs
    [Jobdu] 题目1391:顺时针打印矩阵
    [Jobdu] 题目1369:字符串的排列
    [Jobdu] 题目1283:第一个只出现一次的字符
    如何应用ML的建议-下
  • 原文地址:https://www.cnblogs.com/chivasknight/p/8277989.html
Copyright © 2020-2023  润新知