【问题标题】: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 :)

标签: javascript html


【解决方案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]"]
        //
        

        【讨论】:

          猜你喜欢
          • 2012-07-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-02-21
          • 2019-05-03
          相关资源
          最近更新 更多