我正在尝试使用javascript将句子中的单词大写。例如
var input = "I am not bad with javascript."
var output = "I Am Not Bad With Javascript."我有以下代码,但我不明白为什么我的替换代码不能工作。谢谢
var loop = function(collection, callback){
// ultimate side-effects function
for (var i = 0; i < collection.length; i++){
callback(collection[i]);
}
};
var capitalizeFirstLetters = function(string) {
// have a new string
// split the string into substring
// use the loop function to find the "space"and CAP letter after
var newString = [];
var subString = string.split(' ');
loop(subString, function(word){
subString.replace(word[0], word[0].toUpperCase());
return newString.push(subString);
})
return newString.join(' ');
}发布于 2016-07-07 04:41:08
在这里这应该是可行的
function titleCase(str) {
var splitStr = str.toLowerCase().split(' ');
for (var i = 0; i < splitStr.length; i++) {
// You do not need to check if i is larger than splitStr length, as your for does that for you
// Assign it back to the array
splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);
}
// Directly return the joined string
return splitStr.join(' ');
}
document.write(titleCase("I'm a little tea pot"));
发布于 2016-07-07 04:41:44
您可以尝试如下所示:
var input = "I am not bad with javascript."
input = input.split(" ")
.map(function(item){
return item[0].toUpper()+item.slice(1);
})
.join(" ");
var input = "I am not bad with javascript."
input = input.split(" ")
.map(function(item){
return item[0].toUpperCase()+item.slice(1);
}).join(" ");
alert(input);
https://stackoverflow.com/questions/38233382
复制相似问题