Foreach文
:for key, value in 辞書オブジェクト.items(): 文
for ... inがPythonの唯一のforループなので、他の言語で見られるカウンターループ相当には、組み込み関数 rangeを用いる。
↑ foreach - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
↑ “Range Clause”. The Go Programming Language Specification. The Go Programming Language. 2021年9月29日閲覧。
↑ An enhanced for loop for the JavaTM Programming Language | The Java Community Process(SM) Program - communityprocess - jsr
↑ The for Statement (The JavaTM Tutorials > Learning the Java Language > Language Basics)
↑ インタフェースIterable<T>
↑ Array.prototype.forEach() - JavaScript | MDN
↑ for...of - JavaScript | MDN
↑ perlsyn - Perl syntax - Perldoc Browser
オブジェクトの反復処理にはfor-in文を用いる。変数にはプロパティ名(連想配列で言うキー)が代入されるので、プロパティの値は式 オブジェクト[変数] で取得する。
for (const 変数 in オブジェクト) { 文 }
JavaScriptのfor-in文は、ユーザー定義のプロパティについて、プロトタイプチェーンをさかのぼって反復処理を行う。このため、特に配列に対してfor-in文を用いると、他の言語とは異なる挙動をすることがある。
const array = new Array(3); let output = ""; for (const key in array) { output += key + " "; } // このとき array.length === 3 であるが、 // array にユーザー側から配列要素を定義していないので、 // output === "" である。 // 配列もオブジェクトなので、数値以外のプロパティを設定できる。 array.foo = "foo" output = ""; for (const key in array) { output += key + " "; } // このとき output === "foo " である。