22.1 方式一

  1. 按照'-'进行分割;
  2. 从第二个元素开始进行遍历,将每个元素的首字母变为大写的;
  3. 将数组中的元素进行连接
// 操作字符串数组
function transformStr2CamelCase1(str) {
    if (typeof(str) !== 'string') {
        return '';
    }

    const strArr = str.split('-');
    for (let i = 1; i < strArr.length; i++) {
        strArr[i] = strArr[i].charAt(0).toUpperCase() + strArr[i].substring(1);
    }
    return strArr.join('');
}

console.log(transformStr2CamelCase1('hello-world')); // helloWorld
复制代码

22.2 方式二

  1. 首先将字符串分割成字符数组;
  2. 遍历该数组,当遇到'-'元素,删除该元素;
  3. 将后慢的字符元素变为大写;
  4. 连接数组,返回结果。
// 操作字符数组
function transformStr2CamelCase2(str) {
    if (typeof(str) !== 'string') {
        return '';
    }

    const strArr = str.split('');
    for (let i = 0; i < strArr.length; i++) {
        if (strArr[i] === '-') {
            // 删除-
            strArr.splice(i, 1);
            // 将此处改为大写
            if (i < strArr.length) {
                strArr[i] = strArr[i].toUpperCase();
            }
        }
    }

    return strArr.join('');
}

console.log(transformStr2CamelCase2('hello-world')); // helloWorld
复制代码

22.3 方式三

  1. 确定对应的正则表达式;
  2. 利用replace方法,将对应的小写字符转换为大写。
// 利用正则
function transformStr2CamelCase3(str) {
    if (typeof(str) !== 'string') {
        return '';
    }

    const reg = /-(\w)/g;

    return str.replace(reg, function ($0, $1) {
        return $1.toUpperCase();
    });
}

console.log(transformStr2CamelCase3('hello-world')); // helloWorld
复制代码

1.如果觉得这篇文章还不错,来个分享、点赞吧,让更多的人也看到

如果你觉得这篇文章对你有点用的话,麻烦请给我们的开源项目点点star: http://github.crmeb.net/u/defu   不胜感激 !
来自 “开源世界 ” ,链接: https://ym.baisou.ltd/post/746.html ,如需转载,请注明出处,否则将追究法律责任。

 
06-28 09:19