を大文字。それを配列にプッシュし、出力は[ 'a', 'bb', 'ccc', 'dddd' ]
機能は、私はこれを行うことを意図している機能を持っている
となります。私はこの配列を反復処理し、以下の2番目のforループで行った各文字列を大文字にする必要があることは明らかです。 問題は、次のように返す配列を返すときです。[ 'A', 'B', 'C', 'D' ]
各文字列の最初の部分文字列を返していますが、残りの部分文字列を返していません。
function accum(s) {
var splitstring = s.split("")
var newarray = []
for(var i = 0; i < splitstring.length; i++) {
newarray.push(splitstring[i].repeat(i + 1))
}
for (var i = 0; i < newarray.length; i++) {
newarray[i] = newarray[i].charAt(0).toUpperCase()
}
return newarray
}
accum("abcd")
あなたはあなたの第二のループでは、文字列全体を上書きしています。方法については[this](https://stackoverflow.com/questions/1431094/how-do-i-replace-a-character-at-a-particular-index-in-javascript)をご覧ください。 –
'newarray [i] = newarray [i] .charAt(0).toUpperCase()' < - 最初の文字に置き換えてしまうので、あなたの問題であるようです。 – epascarello