将字符串的第一个字符转换为大写[重复]

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]"]
//

【讨论】:

以上是关于将字符串的第一个字符转换为大写[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python如何定义函数将小写转换为大写

python如何定义函数将小写转换为大写

把一个字符串里的所有单词的第一个字符转换为大写

如何将我从外部文件中的函数获得的字符串转换为全部大写[重复]

Java如何将每个单词的第一个字符转为大写

如何将数组中的字符串转换为小写[关闭]