千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > JavaScript实现单词首字母大写的方法总汇

JavaScript实现单词首字母大写的方法总汇

来源:千锋教育
发布人:wjy
时间: 2022-06-01 15:54:00 1654070040

## **1、for循环:**

```js
var a = 'Hi, my name\'s Han Meimei, a SOFTWARE engineer'; 
 
//for循环 
function titleCase(s) { 
    var i, ss = s.toLowerCase().split(/\s+/); 
    for (i = 0; i < ss.length; i++) { 
        ss[i] = ss[i].slice(0, 1).toUpperCase() + ss[i].slice(1); 
    } 
    return ss.join(' '); 

console.log(titleCase(a));
这个逻辑应该说非常常见。
```

JavaScript实现单词首字母大写的方法

## **2、for循环+replace:**

```js
//for循环+replace 
function titleCase1(str) { 
    //将字符串分解为数组并将其小写化 
    var convertToArray = str.toLowerCase().split(" "); 
 
    for (var i = 0; i < convertToArray.length; i++) { 
        var char = convertToArray[i].charAt(0); 
        //使用 replace()方法将数组中的每个首字母大写化 
        convertToArray[i] = convertToArray[i].replace(char, function replace(char) { 
            return char.toUpperCase(); 
        }); 
    } 
    return convertToArray.join(" "); 

console.log(titleCase1(a));
```

这个跟第一个差别不大。

## **3、正则+replace:**

```js
//正则+replace 
function titleCase2(s) { 
    return s.toLowerCase().replace(/\b([\w|']+)\b/g, function(word) { 
        //return word.slice(0, 1).toUpperCase() + word.slice(1); 
        return word.replace(word.charAt(0), word.charAt(0).toUpperCase()); 
    }); 

console.log(titleCase2(a));
```

思路:用正则将字符串拆分为单词数组,并对每个单词进行首字母大写处理。这里简单的把字母、数字、下划线和单撇号都视为了单词成员。

## **4、数组+map:**

```js
//数组+map 
function titleCase3(s) { 
    return s.toLowerCase().split(/\s+/).map(function(item, index) { 
        return item.slice(0, 1).toUpperCase() + item.slice(1); 
    }).join(' '); 

console.log(titleCase3(a));
```

思路:根据空白将字符串拆分为数组,对每个单词进行首字母大写处理,并将所有处理后的结果组成一个新数组然后拼接成字符串。

## **5、数组+reduce**

```js
//数组+reduce 
function titleCase4(s) { 
    return s.toLowerCase().split(/\s+/).reduce(function(prev, item, array, array) { 
        return prev + (prev.trim() && ' ') + item.slice(0, 1).toUpperCase() + item.slice(1); 
    }, ''); 

console.log(titleCase4(a));
```

思路:根据空白将字符串拆分为数组,对每个单词进行首字母大写处理,并将所有处理后的结果连成一个新字符串。

## **6、ES6写法**

```js
//ES6写法 
function titleCase5(str) { 
    return str.toLowerCase().replace(/( |^)[a-z]/g, (L) => L.toUpperCase()); 

console.log(titleCase5(a));
```

思路:用正则将每个单词的首字母替换成大写。

**-** **End** **-**

更多关于“html5培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的提升班,高品质课程助理你实现梦想。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT