【AI】縦組2桁数字のみ半角〔第4回〕

文字の変更する場所がずれてしまう問題の原因は「関数内のミス」でした。
関数とは、入力したデータを加工して出力するといったものです。
入力「選択された文字」。
出力「2桁数字を検索し見つけた位置(何文字目)と次の文字を半角に変換」でした。
関数内では、見つけた箇所が複数だった場合、関数内で繰り返し処理するようにしています。
2回目の処理が始まった時、
次に検索開始する文字の位置を先程検索ヒットした文字数分をずらして数えないとずれてしまうわけです。
そして、検索ヒットした文字数を関数の繰り返す時に渡していないため
検索された値がないという意味の「undefined」が渡されてしまい、
繰り返す毎に「undefined」文字数の9文字分ずつずれていたというわけでした。

わかってしまえばあたり前なのですが、
プログラミング文字の羅列から何が起こっているのか…想像力が必要なんですね。