文字列内の母音を、a->e、e->i、i->o、o->u という行の次の母音に置き換える楽しい問題を試してみてください。"u" は考慮されません。文字列ではなく配列から始めます。私の 2 番目のループ (母音配列要素を反復処理するため) は、私の "j
var vowelChange = function(vowelArray, stringToChange) {
for (var i = 0; i<stringToChange.length; i++) {
for (var j = 0; j<vowelArray.length; j++) {
if (stringToChange[i]===vowelArray[j]) {
var newCharacter = vowelArray[j+1]
stringToChange[i] = newCharacter
i++
}
}
}
return stringToChange
};
node-debug を使用してブラウザーでブレークポイントを設定していますが、j は 5 にループしてから 0 からやり直しています。正しい出力が得られますが、j は 4 で停止するはずです...
編集
単なる配列ではなく文字列を出力する関数を取得できないため、結合を誤って使用している方法を誰かが説明できますか?
var vowelChange = function(vowelArray, stringToChange) {
for (var i = 0; i<stringToChange.length; i++) {
for (var j = 0; j<vowelArray.length-1; j++) {
if (stringToChange[i]===vowelArray[j]) {
stringToChange[i] = vowelArray[j+1]
break
}
}
}
stringToChange = stringToChange.join('')
return stringToChange
};
var vowels = ['a','e','i','o','u']
var firstName = ['t', 'e', 's', 't']
vowelChange(vowels, firstName)
console.log(firstName)