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

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

19
อาร์กิวเมนต์ไม่ถูกต้องที่ให้มาสำหรับ foreach()
มันมักจะเกิดขึ้นกับฉันในการจัดการข้อมูลที่สามารถเป็นได้ทั้งอาเรย์หรือตัวแปรโมฆะและฟีดบางอย่างforeachกับข้อมูลเหล่านี้ $values = get_values(); foreach ($values as $value){ ... } เมื่อคุณป้อนข้อมูล foreach ด้วยข้อมูลที่ไม่ใช่อาร์เรย์คุณจะได้รับคำเตือน: คำเตือน: มีการระบุอาร์กิวเมนต์ที่ไม่ถูกต้องสำหรับ foreach () ใน [... ] สมมติว่ามันเป็นไปไม่ได้ที่จะ refactor get_values()ฟังก์ชั่นเพื่อส่งกลับอาร์เรย์เสมอ (ความเข้ากันได้แบบย้อนหลังไม่มีซอร์สโค้ดไม่ว่าด้วยเหตุผลใดก็ตาม) ฉันสงสัยว่าวิธีไหนที่สะอาดและมีประสิทธิภาพที่สุดเพื่อหลีกเลี่ยงคำเตือนเหล่านี้: กำลังส่ง$valuesไปยังอาร์เรย์ กำลังเริ่มต้น$valuesกับอาร์เรย์ ห่อforeachด้วยif อื่น ๆ (โปรดแนะนำ)
304 php  foreach 

10
เป็นไปได้หรือไม่ที่จะเปลี่ยนค่าของอาเรย์เมื่อทำการ foreach ใน javascript
ตัวอย่าง: var arr = ["one","two","three"]; arr.forEach(function(part){ part = "four"; return "four"; }) alert(arr); อาร์เรย์ยังคงอยู่กับค่าดั้งเดิมมีวิธีใดบ้างที่จะมีการเขียนการเข้าถึงองค์ประกอบของอาร์เรย์จากฟังก์ชันวนซ้ำ

4
“ ทำต่อ” ในเคอร์เซอร์ forEach ()
ฉันกำลังสร้างแอพโดยใช้ meteor.js และ MongoDB และฉันมีคำถามเกี่ยวกับ cursor.forEach () ฉันต้องการตรวจสอบเงื่อนไขบางอย่างในตอนต้นของแต่ละการวนซ้ำแต่ละครั้งแล้วข้ามองค์ประกอบถ้าฉันไม่ต้องทำการดำเนินการกับมันเพื่อที่ฉันจะได้ประหยัดเวลา นี่คือรหัสของฉัน: // Fetch all objects in SomeElements collection var elementsCollection = SomeElements.find(); elementsCollection.forEach(function(element){ if (element.shouldBeProcessed == false){ // Here I would like to continue to the next element if this one // doesn't have to be processed }else{ // This part should …

4
แยกออกจาก if and foreach
ฉันมีวง foreach และคำสั่ง if หากพบการแข่งขันที่ฉันต้องการในที่สุดก็แยกออกจากด้านหน้า foreach($equipxml as $equip) { $current_device = $equip->xpath("name"); if ( $current_device[0] == $device ) { // found a match in the file $nodeid = $equip->id; <break out of if and foreach here> } }

15
มีวิธีการเข้าถึงตัวนับซ้ำในแต่ละวงของ Java หรือไม่?
มีวิธีในการวนรอบของ Java สำหรับแต่ละ for(String s : stringArray) { doSomethingWith(s); } เพื่อดูว่ามีการประมวลผลลูปบ่อยแค่ไหน? นอกเหนือจากการใช้ลูปเก่าและที่รู้จักกันดีfor(int i=0; i < boundary; i++)- ลูปเป็นโครงสร้าง int i = 0; for(String s : stringArray) { doSomethingWith(s); i++; } วิธีเดียวที่จะมีตัวนับเช่นนี้ในแต่ละลูป?
274 java  loops  for-loop  foreach 

3
มีเทียบเท่ากับ 'ดำเนินการต่อ' ใน Parallel.ForEach หรือไม่
ฉันกำลังย้ายรหัสไปยังParallel.ForEachและได้รับข้อผิดพลาดเมื่อcontinueฉันมีรหัส มีบางสิ่งที่เทียบเท่าฉันสามารถใช้ในParallel.ForEachฟังก์ชันที่เทียบเท่ากับcontinueในforeachลูปหรือไม่? Parallel.ForEach(items, parallelOptions, item => { if (!isTrue) continue; });

11
JS: วนซ้ำผลลัพธ์ของ getElementsByClassName โดยใช้ Array.forEach
ฉันต้องการวนซ้ำองค์ประกอบ DOM บางอย่างฉันกำลังทำสิ่งนี้: document.getElementsByClassName( "myclass" ).forEach( function(element, index, array) { //do stuff }); แต่ฉันได้รับข้อผิดพลาด: document.getElementsByClassName ("myclass") forEach ไม่ใช่ฟังก์ชัน ฉันใช้ Firefox 3 ดังนั้นฉันรู้ว่าทั้งสองgetElementsByClassNameและArray.forEachมีอยู่ ใช้งานได้ดี: [2, 5, 9].forEach( function(element, index, array) { //do stuff }); ผลลัพธ์ของgetElementsByClassNameArray คืออะไร? ถ้าไม่มันคืออะไร

26
Foreach loop กำหนดว่าการวนซ้ำครั้งสุดท้ายของลูปคืออะไร
ฉันมีforeachลูปและจำเป็นต้องดำเนินการตรรกะบางอย่างเมื่อเลือกรายการสุดท้ายจากList, เช่น: foreach (Item result in Model.Results) { //if current result is the last item in Model.Results //then do something in the code } ฉันจะรู้ได้อย่างไรว่าลูปใดที่ล่าสุดโดยไม่ใช้ลูปและตัวนับ
233 c#  asp.net  foreach 

9
มีความแตกต่างระหว่าง foreach และแผนที่หรือไม่?
ตกลงนี่เป็นคำถามเกี่ยวกับวิทยาศาสตร์คอมพิวเตอร์มากกว่าคำถามที่ใช้ภาษาใดภาษาหนึ่ง แต่มีความแตกต่างระหว่างการทำแผนที่และการดำเนินการ foreach หรือไม่? หรือพวกเขาเป็นชื่อที่แตกต่างกันสำหรับสิ่งเดียวกันหรือไม่

30
ค้นหาองค์ประกอบสุดท้ายของอาร์เรย์ในขณะที่ใช้ foreach loop ใน PHP
ฉันกำลังเขียนผู้สร้างแบบสอบถาม SQL โดยใช้พารามิเตอร์บางตัว ใน Java มันง่ายมากที่จะตรวจสอบองค์ประกอบสุดท้ายของอาเรย์จากภายในสำหรับลูปโดยเพียงแค่ตรวจสอบตำแหน่งอาเรย์ปัจจุบันด้วยความยาวของอาเรย์ for(int i=0; i< arr.length;i++){ boolean isLastElem = i== (arr.length -1) ? true : false; } ใน PHP มีดัชนีที่ไม่ใช่จำนวนเต็มเพื่อเข้าถึงอาร์เรย์ ดังนั้นคุณต้องวนซ้ำแถวลำดับโดยใช้ลูป foreach สิ่งนี้จะเป็นปัญหาเมื่อคุณจำเป็นต้องทำการตัดสินใจ (ในกรณีของฉันเพื่อต่อท้ายหรือ / และพารามิเตอร์ขณะสร้างคิวรี) ฉันแน่ใจว่าต้องมีวิธีมาตรฐานในการทำเช่นนี้ คุณจะแก้ปัญหานี้ใน PHP ได้อย่างไร
215 php  foreach 



7
ข้อใดมีประสิทธิภาพมากขึ้นสำหรับแต่ละลูปหรือตัววนซ้ำ
วิธีใดมีประสิทธิภาพมากที่สุดในการสำรวจชุดสะสม List<Integer> a = new ArrayList<Integer>(); for (Integer integer : a) { integer.toString(); } หรือ List<Integer> a = new ArrayList<Integer>(); for (Iterator iterator = a.iterator(); iterator.hasNext();) { Integer integer = (Integer) iterator.next(); integer.toString(); } โปรดทราบว่านี้ไม่ได้เป็นที่แน่นอนซ้ำของนี้ , นี้ , นี้หรือนี้แม้ว่าหนึ่งในคำตอบของคำถามที่ผ่านมาใกล้เคียง เหตุผลที่นี่ไม่ใช่การล่อลวงเพราะส่วนใหญ่เป็นการเปรียบเทียบลูปที่คุณโทรget(i)ภายในลูปแทนที่จะใช้ตัววนซ้ำ ตามที่แนะนำในMetaฉันจะโพสต์คำตอบของคำถามนี้

20
วิธีหลีกเลี่ยง java.util.ConcurrentModificationException เมื่อวนซ้ำผ่านและลบองค์ประกอบออกจาก ArrayList
ฉันมี ArrayList ที่ฉันต้องการวนซ้ำ ในขณะที่วนซ้ำฉันต้องลบองค์ประกอบในเวลาเดียวกัน java.util.ConcurrentModificationExceptionเห็นได้ชัดว่านี้พ่น แนวปฏิบัติที่ดีที่สุดในการจัดการปัญหานี้คืออะไร ฉันควรโคลนรายการก่อนหรือไม่ ฉันลบองค์ประกอบที่ไม่ได้อยู่ในลูป แต่เป็นอีกส่วนหนึ่งของรหัส รหัสของฉันมีลักษณะเช่นนี้: public class Test() { private ArrayList<A> abc = new ArrayList<A>(); public void doStuff() { for (A a : abc) a.doSomething(); } public void removeA(A a) { abc.remove(a); } } a.doSomethingอาจเรียกTest.removeA();
203 java  arraylist  foreach 

3
มีวิธีการทำซ้ำในพจนานุกรมหรือไม่?
ฉันรู้ว่าNSDictionariesเป็นสิ่งที่คุณต้องการในการสั่งซื้อที่จะได้รับkey valueแต่ฉันจะทำซ้ำได้ทั้งหมดkeysและvaluesในNSDictionaryเพื่อที่ฉันจะรู้ว่ามีกุญแจอะไรและมีคุณค่าอะไรบ้าง? ฉันรู้ว่ามีสิ่งที่เรียกว่าสำหรับในวงJavaScriptใน มีอะไรที่คล้ายกันObjective-Cไหม?

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