javascript - 如何在 Javascript 中对句子进行标题大小写

标签 javascript html arrays indexing element

<html>
<head>
	<!--Wei Wu Section A-->
	<title>This is the 4th extra credit</title>
</head>
<body>
	<script type="text/javascript">
	function toUpper(stringFromUser){
		var arrayOfStrings = [];
			arrayOfStrings = stringFromUser.split(" ");
			for(i=0;i<arrayOfStrings.length;i++){
				//if (char(arrayOfStrings[i][0]) <= 122 && char(arrayOfStrings[i][0]) >= 97){
				  if (arrayOfStrings[i].charCodeAt(0) <=122 && arrayOfStrings[i].charCodeAt(0) >=97){	
					arrayOfStrings[i] = arrayOfStrings[i].charAt(0).toUpperCase() + arrayOfStrings[i].slice(1);
				}
			}
		var afterTitle = "";
		afterTitle = arrayOfStrings.join(" ");
			document.getElementById('afterChange').innerHTML = afterTitle;
		}

	</script>
	<p>Enter a sentence and I will turn it into Title Case!<input id="textInput" value=""></p>
	<button onclick="toUpper(textInput.value)">Change case!</button>
	<p id="afterChange"></p>
</body>
</html>

您好,提前感谢您的所有帮助。这是我正在编写的代码之一。这段代码的目的是“标题大小写”句子中每个单词的第一个字母。经过一些工作后,我的代码运行得很好。

但我有一个问题:在第 14 行,我试图将大写字母定向分配给 arrayOfString[i][0],但没有成功。相反,我更改了整个元素,也称为数组中的元素。为什么那不起作用?非常感谢!

最佳答案

字符串是不可变的 - 您不能通过分配其 [] 索引来更改其中的单个字符。因此,您必须将它们分开并重新组合在一起,就像您所做的那样。

关于javascript - 如何在 Javascript 中对句子进行标题大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49623183/

相关文章:

javascript - 计算 JavaScript 数组中对象的出现次数

javascript - <div> 标签,带有可点击链接,内部有 <a> 标签

javascript - 剪贴板图像到文件

javascript - 从具有特定参数的数组中检索对象

javascript - 父级触发事件,从子级冒泡

javascript - html5 localStorage将输入字段保存到键盘上的表单中

C# 将十六进制字符串数组转换为字节数组

javascript - 使用文本输入在 jQuery Galleria 中设置值

javascript - 选项卡时如何将焦点设置到子窗口和开启器窗口

javascript - 如何在 Angular js 的选项卡集中的选项卡上启用延迟加载?