2016-07-06 6 views
0

Привет Я пытаюсь использовать javascript для использования слов предложения. НапримерКак использовать первую букву слова в строке с использованием Javascirpt

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(' '); 
    } 

Спасибо

+3

Забавный факт, что вы можете сделать это в CSS с 'текст-преобразования: капитализировать;'. Я знаю, что ваш вопрос связан с JavaScript, но разве вам не приятно знать, что вам иногда не нужно писать функции манипуляции строками? – aardrian

+0

Если вы используете Lodash, вы можете использовать [this] (http://stackoverflow.com/a/38084493/5743988). Формат строки, на который вы ссылаетесь, называется «заголовок» или «начальный случай», – 4castle

ответ

0

Вот это должно работать

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"));

0

Вы могли бы попробовать что-то вроде этого:

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);

Смежные вопросы