なぜ左手側の割り当てが無効になっているのか不思議です。私のforループは、文字列の配列を反復処理し、数値(ASCII)を取得してそれを数えて変数に代入しますか?JavaScriptが無効になっています。
function getCharNumber(string1, string2) {
let count1 = 0
let count2 = 0
let strArray1 = string1.split('')
let strArray2 = string2.split('')
for (let i = 0; i < strArray1.length; i++) {
strArray1[i].charCodeAt(0) += count1
}
for (let i = 0; i <strArray2.length; i++) {
strArray2[i].charCodeAt(0) += count2
}
console.log(count1, count2)
}
strArray1 [i] .charCodeAt(0)+ = count1'はどのようにしますか?あなたがしようとしているものなら、文字列を変更することはできません。 – Carcigenicate
ところで、 'strArray1 [i] .charCodeAt(0)'は 'string1.charCodeAt(i)'に単純化することができます。 'charCodeAt()'は文字列をインデックスできるので、文字列を配列に分割する必要はありません。 – Barmar
あなたの質問に対する答えは、[JavaScript strings](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type)は不変で、コードは文字列を変更しようとしています。あなたのコードが何を達成しようとしているのかは分かりません。各文字を「シフト」して元の文字列を「暗号化」していますか?それは各入力文字列の文字数を数えていますか? –