14

我有一个JavaScript数组,它存储String变量。我尝试了以下代码,这些代码帮助我将Javascript变量转换为大写字母,

<html><body><p id=“演示”></p>单击此处<脚本>Array.prototype.myUcase=函数(){对于(i=0;i<此长度;i++){this[i]=本[i].toUpperCase();}}函数to Uppar(){var numArray=[“一”,“二”,“三”,“四”];numArray.myUcase();var x=document.getElementById(“demo”);x.innerHTML=numArray;}</script></body></html>

但我只想将Javascript变量的第一个字符转换为大写。

期望输出:一、二、三、四

2
  • @thgaskell公司我需要使用JavaScript数组,而不是直接用于java脚本变量。
    – 维杰
    2013年8月31日9:26
  • 在这种情况下,看看阵列地图:) 2013年8月31日12:08

4个答案4

重置为默认值
5

如果您需要用大写字母表示视图,只需使用css即可!

div.capitalize:第一个字母{文本转换:大写;}

下面是完整的小提琴示例:http://jsfiddle.net/wV33P/1/

4

使用此扩展(根据之前的SO回复):

String.prototype.first2Upper=字符串.prototype.first2上层||function(){return this.charAt(0).toUpperCase()+this.slice(1);}//使用'somestring'.first2Upper();//=>有些字符串

对于您的阵列,使用地图与此扩展相结合的是:

var numArray=[“一”、“二”、“三”、“四”].map(函数(elem){return elem.first2Upper();});//numArray now:[“一”,“二”,“三”,“四”]

参见MDN用于解释和垫片地图方法

2

你就快到了。不是将整个字符串大写,而是只将第一个字符大写。

Array.prototype.myUcase=函数(){对于(var i=0,len=this.length;i<len;i+=1){this[i]=这个[i][0].toUpperCase()+这个[i]切片(1);}返回此;}var A=[“一”,“二”,“三”,“四”]console.log(A.myUcase())

输出

[“一”、“二”、“三”、“四”]
2
Array.prototype.ucfirst=函数(){对于(var len=this.length,i=0;i<len;i++){if(Object.prototype.toString.call(this[i])===“[Object String]”){这个[i]=(函数(){返回this.replace(/\b([a-z])[a-z]*/ig,函数(fullmatch,sub1){return sub1.toUpperCase()+fullmatch.slice(1).toLowerCase(;});}).调用(本[i]);}}返回此;};console.log([“conVertInG”,“fIRST”,“ChaRcteR”,“OF”,new Array,String,new String(“String tO UPPER CASE[duPLicatE]”)].ucfirst());////[“Converting”,“First”,“Character”,“Of”,[],String(),“String To Upper Case[Duplicate]”]//

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.