2016-04-09 22 views
2

この質問の基本はあらかじめお詫び申し上げますが、配列内の配列にネストされた文字列を結合するにはどうすればよいですか?ネストされた配列のデータを取得する

私がここでやろうとしていることは、文字列を取り、文字列のすべての単語の最初の文字を大文字にすることです。

ここで私はこれまでのところ混乱しています。助けてくれてありがとう。

function titleCase(str) { 
    var a = str.toLowerCase().split(' '); 
    var b = []; 
    var c = [ 
    [], 
    [], 
    [], 
    [], 
    [] 
    ]; 
    var d = []; 
    for (i = 0; i < a.length; i++) { 
    b.push(a[i].split('')); 
    } 
    for (i = 0; i < a.length; i++) { 
    for (j = 0; j < a[i].length; j++) { 
     if (a[i][j] === a[i][0]) { 
     c[i].push(a[i][j].toUpperCase()); 

     } else { 
     c[i].push(a[i][j]); 

     } 


    } 
    } 
    return c; 
} 
+0

はオーケー出力 –

答えて

1

正規表現は、この仕事のために理想的に適しています。なぜあなただ​​け

var stc = "how to capitalize the first letter of each word in this sentence?", 
    topic = stc.replace(/\b\w/g, m => m.toUpperCase()); // "How To Capitalize The First Letter Of Each Word In This Sentence?" 
1

のは、より高いレベルからこれを見て、2つの文字列の機能を利用しましょう。

最初にtoUpperCase()を使用して最初の文字を大文字にしてから、String.prototype.slice()を使用して各単語の残りの文字を取得します。

slice(i)文字列メソッドでは、「この文字列の文字は、位置iから始まり、文字列の最後まで移動します。したがって'hello world'.slice(1)'ello world''hello world'.slice(2)'llo world'となります。ここで

は例です:

var myWord = 'cRaZyCaSe'; 

var lower = myWord.toLowerCase();   // Make the whole word lower case 
var firstLetter = lower[0].toUpperCase(); // Capitalize the first char 
var rest = lower.slice(1);    // Get the rest of the word 

console.log(firstLetter + rest);   // Add them back together 
// -> 'Crazycase' 

あなたの関数は次のようになります。

function titleCase(str) { 
    var words = str.split(' '); 
    for (var i = 0; i < words.length; i++) { 
     var thisWord = words[i].toLowerCase(); 
     words[i] = thisWord[0].toUpperCase() + thisWord.slice(1); 
    } 
    return words.join(' '); 
} 

Here's a demo

+0

として私達にあなたのデータ入力と何をしたいの例を与え、あなただけで0のインデックスで文字を連結している反復の最後の部分でくださいしないでくださいインデックス1から最後まで単語の残りの部分、右? – cwanjt

+0

まさに! 'thisWord [0] .toUpperCase()'は位置0の文字を取得して大文字にし、 'thisWord.slice(1)'は位置1のすべての文字を前方に取得します。それで、一緒に追加された、それはまさにあなたが言ったことです! –

関連する問題