在JS内令字符串的每个单词首字母变为大写的方法

最近在学习JS的内置对象。
在申明字符串的时候,如果要将字符串的每个单词首字母都大写,长句子人工修改即为不变。举个栗子,将以下句子每个首字母大写:

var str="frankly, my dear, I don't give a damn";

首先,字符串是无法直接修改的,JS无法根据字符串的空格进行判断修改,所以可以通过split(),将字符串转为数组。

var arr=str.split(" ");

在控制台看看下效果:
在这里插入图片描述
可以看到字符串被切割成了数组。
创建一个新数组,并且加上循环,第i个数组内的字符串的第1个字符用toUpperCase() 进行大写,同时加上除了首字母后的字符,切割:substring(1) 或者 slice()
substring(start,end),是含头不含尾。substring(1,3)则代表数组内的[1] [2]。只填写1代表从1开始之后的所有:

var b=new Array(i);
	for (var i=0;i<arr.length;i++){
    b[i]=arr[i][0].toUpperCase()+arr[i].substring(1);
    }

最后在利用数组的内置对象join() 将数组拼接成字符串并调试:

str=b.join(" ");
console.log(str)

在这里插入图片描述

完整代码如下:

var str="frankly, my dear, I don't give a damn";
	var arr=str.split(" ");
	console.log(arr)
    var b=new Array(i);
	for (var i=0;i<arr.length;i++){
    b[i]=arr[i][0].toUpperCase()+arr[i].substring(1);
    }
    str=b.join(" ");
    console.log(str)

猜你喜欢

转载自blog.csdn.net/weixin_44214142/article/details/85274008