2016-11-14 12 views
-1

私はindexOf()を使用して文字列内の文字の最初の出現を見つける方法を理解しています。例えば。文字のインデックスを見つける - JavaScript

Str.indexOf("a"); 

しかし、文字の配列からどの文字が最初に出現するのでしょうか?

私のコードは次のとおりです。

function translatePigLatin(str) { 

    var vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']; 

    for (var i = 0; i < vowels.length; i++) { 
    if (vowels[i] === str.charAt(0)) { 
     return str + "way"; 
    } else { 
     return str.substr(0, str.indexOf(vowels[i])); 
    } 
    } return str; 
} 

私は母音の最初のoccuranceで部分文字列を終了したいと思います。これを行う簡単な方法はありますか?

ありがとうございます!

答えて

0

あなたは正規表現でString.searchを使用することができます。

var vowels = /[aeiou]/i; 
 

 
console.log('test'.search(vowels)); 
 
console.log('cherry'.search(vowels)); 
 
console.log('apricot'.search(vowels));


あなたはこのようなあなたのコードでそれを統合することができます:私は、これは機能の最終バージョンではないと仮定して実施することにいくつかのロジックがまだあります

function translatePigLatin(str) { 
 
    var vowels = /[aeiou]/i; 
 
    if (str.charAt(0).match(vowels)) { 
 
    return str + "way"; 
 
    } else { 
 
    return str.substr(0, str.search(vowels)); 
 
    } 
 
} 
 

 
console.log(translatePigLatin('cherry')); 
 
console.log(translatePigLatin('apricot')); 
 
console.log(translatePigLatin('test'));

+1

なぜこれがdownvotedされる???私はちょうどこの答えを挿入したかったのです。 – gus27

+0

これはまさに私が探していたものです、ありがとうw0lf! – jesnicka

+1

-2 downvoteで受け入れられた回答 - 以前はこれを見たことがありません。 – gus27

-2

function translatePigLatin(str) { 
 

 
    var vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']; 
 
    for(var i=0;i<vowels.length;i++){ 
 
    if(str.charAt(0)==vowels[i]){ 
 
     return str+"way"; 
 
    } 
 
    } 
 
    return str.substring(getVowelPos(str,vowels),str.length)+str.substring(0,getVowelPos(str,vowels))+"ay"; 
 
} 
 

 
function getVowelPos(str,vowels){ 
 
    var retval=str.length; 
 
    for(var j=0;j<vowels.length;j++){ 
 
    if(str.indexOf(vowels[j])!=-1&&str.indexOf(vowels[j])<retval){ 
 
     retval=str.indexOf(vowels[j]); 
 
    } 
 
    } 
 
    return retval; 
 
} 
 

 
alert(translatePigLatin("plolo"));

+1

いいえ、シリアルdownvoterがあるようです.... – Feathercrown

関連する問題