PythonのforとJavaScriptのfor
textareaに改行区切りでISBNを書き連ねてボタンを押すと、その各行のISBNについて処理を行うようなJavaScriptを書こうとしました。textareaオブジェクトはt = document.getElementById('ISBN_LIST');と、設定したIDを使って取得でき、そこに書かれた値は*.valueで取得でき、それを改行で区切るのは*..split("\n")でできました。そんな文字列のArrayがisbnListという変数に入っていると思ってください。
for(isbn in isbnList){
alert(isbn);
}
これでおのおののISBNが表示されるかと思いきや、表示されるのは「0」「1」「2」…。どうもJavaScriptの配列は、Pythonで言うところの辞書(標準語で言うところのハッシュ)のようです。上のJavaScriptはPythonのリストに対するイテレーション
for isbn in isbnList:
print isbn
ではなく、辞書に対するイテレーション
for key in isbnList.keys():
print key
に相当するようです。Pythonでも最近は「.keys()」を省略できるようになりましたし、略してしまえばほぼ同じですね。