คำถามติดแท็ก foreach

foreach เป็นโครงสร้างวนรอบที่เรียกใช้งานโค้ดที่กำหนดสำหรับแต่ละองค์ประกอบในรายการ / คอลเลกชัน / อาร์เรย์ ในทางตรงกันข้ามกับ for for loop วง foreach ไม่จำเป็นต้องใช้ coder เพื่อรักษาตัวแปรตัวนับเพื่อหลีกเลี่ยงข้อผิดพลาดแบบ off-by-one (fencepost) ขอแนะนำให้ใช้เมื่อจำเป็นต้องใช้การวนซ้ำอย่างง่ายทั่วทั้ง array / list / collection .

30
สำหรับแต่ละอาร์เรย์ใน JavaScript
ฉันจะวนซ้ำรายการทั้งหมดในอาร์เรย์โดยใช้ 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 …

4
มีเหตุผลสำหรับการใช้ตัวแปร C # ซ้ำใน foreach หรือไม่?
เมื่อใช้แลมบ์ดานิพจน์หรือวิธีที่ไม่ระบุตัวตนใน C # เราต้องระวังการเข้าถึงหลุมพรางปิดที่มีการแก้ไข ตัวอย่างเช่น: foreach (var s in strings) { query = query.Where(i => i.Prop == s); // access to modified closure ... } เนื่องจากการปิดการปรับเปลี่ยนรหัสดังกล่าวข้างต้นจะทำให้ทั้งหมดของคำสั่งในการค้นหาให้เป็นไปตามค่าสุดท้ายของWheres ดังที่อธิบายไว้ที่นี่สิ่งนี้เกิดขึ้นเพราะsตัวแปรที่ประกาศในforeachลูปด้านบนถูกแปลเช่นนี้ในคอมไพเลอร์: string s; while (enumerator.MoveNext()) { s = enumerator.Current; ... } แทนที่จะเป็นเช่นนี้: while (enumerator.MoveNext()) { string s; s = enumerator.Current; ... } ดังที่กล่าวไว้ที่นี่ไม่มีข้อได้เปรียบด้านประสิทธิภาพในการประกาศตัวแปรภายนอกลูปและภายใต้สถานการณ์ปกติเหตุผลเดียวที่ฉันคิดได้สำหรับการทำเช่นนี้คือถ้าคุณวางแผนที่จะใช้ตัวแปรนอกขอบเขตของลูป: string …

27
Java 'สำหรับแต่ละ' ทำงานอย่างไร
Наэтотвопросестьответына กองมากเกินнарусском : Какработаетцикл foreach в Java? พิจารณา: List<String> someList = new ArrayList<String>(); // add "monkey", "donkey", "skeleton key" to someList for (String item : someList) { System.out.println(item); } forลูปที่เทียบเท่าจะมีลักษณะอย่างไรโดยไม่ใช้สำหรับแต่ละไวยากรณ์

30
คุณจะรับดัชนีการวนซ้ำปัจจุบันของ foreach loop ได้อย่างไร
มีการสร้างภาษาที่หายากที่ฉันไม่ได้พบ (เช่นไม่กี่ที่ฉันได้เรียนรู้เมื่อเร็ว ๆ นี้บางภาษาใน Stack Overflow) ใน C # เพื่อรับค่าที่แสดงถึงการวนซ้ำปัจจุบันของ foreach loop หรือไม่? ตัวอย่างเช่นฉันกำลังทำสิ่งนี้ขึ้นอยู่กับสถานการณ์: int i = 0; foreach (Object o in collection) { // ... i++; }
938 c#  foreach 



16
อัปเดตวัตถุทั้งหมดในชุดรวมโดยใช้ LINQ
มีวิธีการทำสิ่งต่อไปนี้โดยใช้ LINQ หรือไม่? foreach (var c in collection) { c.PropertyToSet = value; } เพื่อชี้แจงฉันต้องการย้ำผ่านแต่ละวัตถุในคอลเลกชันแล้วปรับปรุงคุณสมบัติในแต่ละวัตถุ กรณีการใช้งานของฉันคือฉันมีความคิดเห็นมากมายในบล็อกโพสต์และฉันต้องการย้ำผ่านแต่ละความคิดเห็นในบล็อกโพสต์และตั้งค่าวันที่ในบล็อกโพสต์ให้เป็น +10 ชั่วโมง ฉันสามารถทำได้ใน SQL แต่ฉันต้องการเก็บไว้ในชั้นธุรกิจ
500 c#  .net  linq  foreach 

20
วิธีการกำหนดซ้ำครั้งแรกและครั้งสุดท้ายในลูป foreach?
คำถามง่าย ๆ ฉันมีforeachวงวนในรหัสของฉัน: foreach($array as $element) { //code } ในวงนี้ฉันต้องการที่จะตอบสนองที่แตกต่างกันเมื่อเราอยู่ในการทำซ้ำครั้งแรกหรือครั้งสุดท้าย ทำอย่างไร
494 php  loops  foreach 

13
จะหาดัชนี foreach ได้อย่างไร
เป็นไปได้ไหมที่จะหาforeachดัชนี? ในforวงดังนี้: for ($i = 0; $i < 10; ++$i) { echo $i . ' '; } $i จะให้ดัชนีกับคุณ ฉันต้องใช้การforวนซ้ำหรือมีวิธีในการรับดัชนีในการforeachวนซ้ำหรือไม่?
490 php  loops  foreach 

16
สำหรับ .. ในลูปใน JavaScript - คู่ของค่าคีย์
ฉันสงสัยว่ามีวิธีการทำบางอย่างเช่นการforeachวนรอบPHP ใน JavaScript หรือไม่ ฟังก์ชั่นที่ฉันกำลังมองหาคืออะไรอย่าง PHP Snippet นี้: foreach($data as $key => $value) { } ผมกำลังมองไปที่ JS for..inห่วง asแต่ดูเหมือนว่าจะมีวิธีการที่จะระบุไม่มี หากฉันทำสิ่งนี้ด้วย 'ปกติ' สำหรับลูป ( for(var i = 0; i < data.length; i++) มีวิธีในการจับคู่คีย์ => ค่าหรือไม่

10
JavaScript, Node.js: Array.forEach แบบอะซิงโครนัสหรือไม่
ฉันมีคำถามเกี่ยวกับการArray.forEachติดตั้ง JavaScript แบบดั้งเดิม: มันทำงานแบบอะซิงโครนัสหรือไม่? ตัวอย่างเช่นถ้าฉันโทร: [many many elements].forEach(function () {lots of work to do}) สิ่งนี้จะไม่มีการปิดกั้นหรือไม่


10
รับ loop counter / index ใช้สำหรับ ... ของไวยากรณ์ใน JavaScript
ข้อควรระวัง: คำถามยังคงใช้กับfor…ofลูป> อย่าใช้for…inเพื่อวนซ้ำในArrayใช้เพื่อย้ำคุณสมบัติของวัตถุ ที่กล่าวมานี้ ฉันเข้าใจว่าfor…inไวยากรณ์พื้นฐานใน JavaScript มีลักษณะดังนี้: 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วงที่เรียบง่ายกว่า …

13
ทำลายหรือกลับจากสตรีม Java 8 forEach หรือไม่
เมื่อใช้การวนซ้ำภายนอกมากกว่าการที่Iterableเราใช้breakหรือreturnจากการปรับปรุงสำหรับแต่ละลูปเป็น: for (SomeObject obj : someObjects) { if (some_condition_met) { break; // or return obj } } เราสามารถbreakหรือreturnใช้การวนซ้ำภายในในนิพจน์แลมบ์ดาของ Java 8 เช่น: someObjects.forEach(obj -> { //what to do here? })
312 java  foreach  lambda  java-8 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.