【问题标题】:How to Title Case a sentence in Javascript如何在Javascript中为句子命名
【发布时间】:2018-04-03 05:57:22
【问题描述】:

<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>

您好,提前感谢您的所有帮助。这是我正在处理的代码之一。这段代码的目的是“Title Case”句子中每个单词的首字母。经过一些工作,我的代码运行得很好。

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

【问题讨论】:

    标签: javascript html arrays indexing element


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以将此代码用于标题大小写

      <html>
      <head>
      	<!--Wei Wu Section A-->
      	<title>This is the 4th extra credit</title>
      </head>
      <body>
      	<script type="text/javascript">
      	function toUpper(stringFromUser){
      	   var afterTitle = toTitleCase(stringFromUser);
      	   document.getElementById('afterChange').innerHTML = afterTitle;
              }
              function toTitleCase(str)
              {
                  return str.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
              }
      	</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>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-02
        相关资源
        最近更新 更多