« PythonでKnuth-Morris-Prattを実験 |Main| 雑記テスト »

« DownloadableYouTube | JavaScript | Re: ループ内の無名関数 »

« PythonでKnuth-Morris-Prattを実験 | Python | Pythonでバイナリファイルをダウンロードしようと… »

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()」を省略できるようになりましたし、略してしまえばほぼ同じですね。

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/32

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.