You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript:如何将带空格字符串转为无空格小驼峰格式

实现字符串的小驼峰转换

嘿,这个需求挺常见的,我给你两种实用的实现方式,轻松搞定小驼峰转换:

方法一:数组分割+遍历处理(直观易读)

这种方式逻辑清晰,新手也能快速理解:

let string = 'I have some spaces in it';
let camelCaseString = string.split(' ')
  .map((word, index) => {
    // 处理第一个单词:直接转为全小写
    if (index === 0) {
      return word.toLowerCase();
    }
    // 处理后续单词:首字母大写,其余部分转小写(兼容原单词有大写的情况)
    return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
  })
  .join('');

console.log(camelCaseString); // 输出:iHaveSomeSpacesInIt

步骤拆解:

  • split(' '):把原字符串按空格拆分成单词数组,得到 ['I', 'have', 'some', 'spaces', 'in', 'it']
  • map() 遍历数组:
    • 第一个单词直接转全小写,保证驼峰的首字母小写
    • 后续每个单词取首字母转大写,剩余部分转小写,避免原单词存在大写字母导致格式混乱
  • join(''):把处理后的单词数组拼接成完整的驼峰字符串

方法二:正则表达式(简洁高效)

如果喜欢更简洁的写法,用正则匹配替换也能快速实现:

let string = 'I have some spaces in it';
let camelCaseString = string.replace(/(?:^\w|\s\w)/g, (match, index) => {
  // 匹配到字符串开头的字符:转小写
  if (index === 0) {
    return match.toLowerCase();
  }
  // 匹配到空格后的字符:先去掉空格再转大写
  return match.trim().toUpperCase();
});

console.log(camelCaseString); // 输出:iHaveSomeSpacesInIt

正则说明:

  • /(?:^\w|\s\w)/g:匹配两种情况:
    • ^\w:字符串开头的第一个单词字符
    • \s\w:空格后面的第一个单词字符
  • 回调函数根据匹配位置的不同,分别处理成小写或大写,最终完成驼峰转换

这两种方法都能处理一些边界情况,比如原字符串开头有多个空格、单词本身包含大写字母等,你可以根据自己的习惯选择~

内容的提问来源于stack exchange,提问作者Smokey Dawson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:57:58