タグ付けされた質問 「foreach」

foreachは、リスト/コレクション/配列の各要素に対して特定のコードを実行するループ構造です。forループとは対照的に、foreachループでは、コーダーがカウンター変数を維持してオフバイワン(フェンスポスト)バグを回避する必要はありません。配列/リスト/コレクション全体の単純な反復が必要な場合に使用することをお勧めします。

30
JavaScriptの配列に対するfor-each
JavaScriptを使用して配列内のすべてのエントリをループするにはどうすればよいですか? 私はそれがこのようなものだと思った: forEach(instance in theArray) theArray私の配列はどこですか、これは正しくないようです。

7
PHPの「foreach」は実際にどのように機能しますか?
何foreachをし、何をし、どのように使用するか知っていると言って、これに接頭辞を付けましょう。この質問は、それがボンネットの下でどのように機能するかに関するものであり、「これは配列をループする方法です」という言葉に沿って回答したくありませんforeach。 長い間、私はそれforeachがアレイ自体で機能することを想定していました。それから私はそれが配列のコピーで動作するという事実への多くの参照を見つけました、そして私はそれが物語の終わりであるとそれ以来仮定しました。しかし、私は最近この問題について話し合い、少し実験したところ、これは実際には100%真実ではないことがわかりました。 私の言いたいことをお見せしましょう。次のテストケースでは、次の配列を使用します。 $array = array(1, 2, 3, 4, 5); テストケース1: foreach ($array as $item) { echo "$item\n"; $array[] = $item; } print_r($array); /* Output in loop: 1 2 3 4 5 $array after loop: 1 2 3 4 5 1 2 3 4 5 */ これは、ソース配列を直接操作していないことを明確に示しています。ループ中にアイテムを配列に常にプッシュしているため、ループが永久に継続します。しかし、これが事実であることを確認するために: テストケース2: foreach ($array …

4
C#がforeachで変数を再利用する理由はありますか?
C#でラムダ式または無名メソッドを使用する場合、変更されたクロージャーの落とし穴へのアクセスに注意する必要があります。例えば: foreach (var s in strings) { query = query.Where(i => i.Prop == s); // access to modified closure ... } 変更されたクロージャのため、上記のコードではWhere、クエリのすべての句がの最終値に基づいていますs。 ここで説明したように、これsは、foreach上記のループで宣言された変数がコンパイラで次のように変換されるために発生します。 string s; while (enumerator.MoveNext()) { s = enumerator.Current; ... } このようにする代わりに: while (enumerator.MoveNext()) { string s; s = enumerator.Current; ... } ここで指摘したように、ループの外側で変数を宣言してもパフォーマンス上の利点はありません。通常の状況では、これを行うために考えられる唯一の理由は、ループのスコープ外で変数を使用する場合です。 string s; while (enumerator.MoveNext()) { …

27
Javaの「for each」ループはどのように機能しますか?
OverаэтотвопросестьответынаStack Overflowнарусском:Javaакработаетциклforeach for Java? 検討してください: List<String> someList = new ArrayList<String>(); // add "monkey", "donkey", "skeleton key" to someList for (String item : someList) { System.out.println(item); } for each構文forを使用しないと、同等のループはどのようになりますか?

30
foreachループの現在の反復のインデックスをどのように取得しますか?
foreachループの現在の反復を表す値を取得するために、C#で私が遭遇していないまれな言語構成要素(最近学んだいくつか、スタックオーバーフローに関するものなど)はありますか? たとえば、私は現在、状況に応じて次のようなことをしています。 int i = 0; foreach (Object o in collection) { // ... i++; }
939 c#  foreach 



16
LINQを使用してコレクション内のすべてのオブジェクトを更新する
LINQを使用して以下を実行する方法はありますか? foreach (var c in collection) { c.PropertyToSet = value; } 明確にするために、コレクション内の各オブジェクトを反復処理してから、各オブジェクトのプロパティを更新したいと思います。 私のユースケースは、ブログ投稿に大量のコメントがあり、ブログ投稿の各コメントを反復処理し、ブログ投稿の日時を+10時間に設定することです。私はSQLでそれを行うことができましたが、ビジネス層でそれを保ちたいです。
500 c#  .net  linq  foreach 


13
foreachインデックスを見つける方法は?
foreachインデックスを見つけることは可能ですか? でfor、次のようにループ: for ($i = 0; $i < 10; ++$i) { echo $i . ' '; } $i インデックスを提供します。 forループを使用する必要がありforeachますか、それともループ内のインデックスを取得する方法はありますか?
490 php  loops  foreach 

16
JavaScriptのFor..Inループ-キーと値のペア
foreachJavaScriptでPHP ループのようなことをする方法があるかどうか疑問に思っていました。私が探している機能は、このPHPスニペットのようなものです。 foreach($data as $key => $value) { } JS for..inループを見ていましたが、を指定する方法がないようasです。これを「通常」のforループ(for(var i = 0; i < data.length; i++)で行う場合、キー=>値のペアを取得する方法はありますか?



10
JavaScriptのfor…of構文を使用してループカウンター/インデックスを取得する
注意: 質問は依然としてfor…ofループに適用されます。> Arrayのfor…in反復には使用せず、オブジェクトのプロパティの反復に使用してください。つまり、これ for…inJavaScript の基本的な構文が次のようになっていることを理解しています。 for (var obj in myArray) { // ... } しかし、ループカウンター/インデックスを取得するにはどうすればよいですか? 私はおそらく私が次のようなことをすることができることを知っています: var i = 0; for (var obj in myArray) { alert(i) i++ } または古き良きもの: for (var i = 0; i < myArray.length; i++) { var obj = myArray[i] alert(i) } しかし、私はむしろ単純なfor-inループを使用したいと思います。私は彼らがよりよく見え、より理にかなっていると思います。 よりシンプルでエレガントな方法はありますか? Pythonでは簡単です。 for …

13
中断するか、Java 8ストリームから戻るか?
使用する場合は、外部反復を介してIterable我々の使用breakまたはreturnのために、各ループのように強化さから: for (SomeObject obj : someObjects) { if (some_condition_met) { break; // or return obj } } どのように、breakまたは次のようなJava 8ラムダ式で内部反復returnを使用できますか? someObjects.forEach(obj -> { //what to do here? })
313 java  foreach  lambda  java-8 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.