将字符串的第一个字符转换为大写[重复]
Posted
技术标签:
【中文标题】将字符串的第一个字符转换为大写[重复]【英文标题】:Converting First Charcter of String to Upper Case [duplicate] 【发布时间】:2013-09-03 23:38:22 【问题描述】:我有 javascript 数组,其中存储字符串变量。 我尝试了下面的代码来帮助我将 Javascript 变量转换为大写字母,
<html>
<body>
<p id="demo"></p>
<button onclick="toUppar()">Click Here</button>
<script>
Array.prototype.myUcase=function()
for (i=0;i<this.length;i++)
this[i]=this[i].toUpperCase();
function toUppar()
var numArray = ["one", "two", "three", "four"];
numArray.myUcase();
var x=document.getElementById("demo");
x.innerHTML=numArray;
</script>
</body>
</html>
但我只想将 Javascript 变量的第一个字符转换为大写。
所需输出:One,Two,Three,Four
【问题讨论】:
@thgaskell
我需要使用 JavaScript 数组而不是直接用于 java 脚本变量。
在这种情况下看看Array.map
:)
【参考方案1】:
如果您需要大写来展示您的视图,您可以简单地使用 css 来实现!
div.capitalize:first-letter
text-transform: capitalize;
这是完整的小提琴示例:http://jsfiddle.net/wV33P/1/
【讨论】:
【参考方案2】:使用此扩展程序 (as per previous SO-answer):
String.prototype.first2Upper = String.prototype.first2Upper || function()
return this.charAt(0).toUpperCase()+this.slice(1);
//usage
'somestring'.first2Upper(); //=> Somestring
对于使用 map
与此扩展名结合的数组,将是:
var numArray = ["one", "two", "three", "four"]
.map(function(elem)return elem.first2Upper(););
// numArray now: ["One", "Two", "Three", "Four"]
See MDN 用于 map
方法的解释和填充
【讨论】:
【参考方案3】:你快到了。而不是大写整个字符串,只大写第一个字符。
Array.prototype.myUcase = function()
for (var i = 0, len = this.length; i < len; i += 1)
this[i] = this[i][0].toUpperCase() + this[i].slice(1);
return this;
var A = ["one", "two", "three", "four"]
console.log(A.myUcase())
输出
[ 'One', 'Two', 'Three', 'Four' ]
【讨论】:
【参考方案4】:Array.prototype.ucfirst = function ()
for (var len = this.length, i = 0; i < len; i++)
if (Object.prototype.toString.call(this[i]) === "[object String]")
this[i] = (function ()
return this.replace(
/\b([a-z])[a-z]*/ig,
function (fullmatch, sub1)
return sub1.toUpperCase() + fullmatch.slice(1).toLowerCase();
);
).call(this[i]);
return this;
;
console.log(["conVertInG", "fIRST", "ChaRcteR", "OF", new Array, String, new String("string tO UPPER CASE [duPLicatE]")].ucfirst());
//
// ["Converting", "First", "Charcter", "Of", [], String(), "String To Upper Case [Duplicate]"]
//
【讨论】:
以上是关于将字符串的第一个字符转换为大写[重复]的主要内容,如果未能解决你的问题,请参考以下文章