2015-06-06 129 views
0

我想获得下面的数组中的每个元素的第一个字母返回大写字母,但似乎只能返回第二个字我怎样才能返回一个数组的所有元素作为大写字母的第一个字母

var clenk = ["ham","cheese"]; 
var i = 0; 
for (i = 0; i < clenk.length; i++) { 
var result = clenk[i].replace(/\b./g, function(m){ return m.toUpperCase(); }); 

} 

alert(result); 
+0

你返回结果。 在clenk数组上调用alert,现在你已经完成了替换。 'alert(clenk);' – Kilenaitor

+0

您的'alert()'在循环之外 –

回答

0
String.prototype.toUpperCaseWords = function() { 
    return this.replace(/\w+/g, function(a){ 
    return a.charAt(0).toUpperCase() + a.slice(1).toLowerCase() 
    }) 
} 

,并使用它像: -

"MY LOUD STRING".toUpperCaseWords(); // Output: My Loud String 
"my quiet string".toUpperCaseWords(); // Output: My Quiet String 

var stringVariable = "First put into a var"; 

stringVariable.toUpperCaseWords(); // Output: First Put Into A Var 

Source

+0

http://www.w3schools.com/jsref/jsref_touppercase.asp它已读取1 – saj

+0

@saj您的大写信息是大写,我的回答会将每个单词的首字母大写 –

0
var clenk = ["ham","cheese"]; 
var i = 0; 
for (i = 0; i < clenk.length; i++) { 
    var result = clenk[i].replace(/\b./g, function(m){ return m.toUpperCase(); }); 
    alert(result); 
} 

把你的alert(result)放在循环中,否则你只能得到最后的result

0

Array.prototype.map可能是简单的在这里:

var results = clenk.map(function (word) { 
    return word.charAt(0).toUpperCase() + word.substr(1); 
});