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

การวนซ้ำเป็นการทำซ้ำอย่างต่อเนื่องในลูปเช่น foreach หรือในขณะที่ คำถามที่มีแท็กนี้มักเกี่ยวข้องกับวิธีจัดการกับการรวบรวมข้อมูลได้ดีที่สุด

30
สำหรับแต่ละอาร์เรย์ใน JavaScript
ฉันจะวนซ้ำรายการทั้งหมดในอาร์เรย์โดยใช้ JavaScript ได้อย่างไร ฉันคิดว่ามันเป็นเช่นนี้: forEach(instance in theArray) theArrayอาร์เรย์ของฉันอยู่ที่ไหนแต่ดูเหมือนว่าจะไม่ถูกต้อง

30
ฉันจะวนซ้ำแต่ละรายการอย่างมีประสิทธิภาพใน Java Map ได้อย่างไร
หากฉันมีวัตถุที่ใช้Mapอินเทอร์เฟซใน Java และฉันต้องการย้ำผ่านทุกคู่ที่อยู่ในนั้นวิธีที่มีประสิทธิภาพที่สุดในการผ่านแผนที่คืออะไร? การเรียงลำดับองค์ประกอบจะขึ้นอยู่กับการใช้แผนที่เฉพาะที่ฉันมีสำหรับอินเทอร์เฟซหรือไม่

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 …


25
วนซ้ำผ่านคอลเลกชันหลีกเลี่ยง ConcurrentModificationException เมื่อลบวัตถุในลูป
เราทุกคนรู้ว่าคุณไม่สามารถทำสิ่งต่อไปนี้ได้เนื่องจากConcurrentModificationException: for (Object i : l) { if (condition(i)) { l.remove(i); } } แต่บางครั้งก็ใช้งานได้ แต่ก็ไม่เสมอไป นี่คือรหัสเฉพาะบางส่วน: public static void main(String[] args) { Collection<Integer> l = new ArrayList<>(); for (int i = 0; i < 10; ++i) { l.add(4); l.add(5); l.add(6); } for (int i : l) { if (i == …

26
วิธีลบรายการออกจากรายการขณะทำซ้ำ
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันวนซ้ำรายการของ tuples ใน Python และพยายามที่จะลบออกหากพวกเขามีคุณสมบัติตรงตามเกณฑ์ที่กำหนด for tup in somelist: if determine(tup): code_to_remove_tup ฉันควรใช้code_to_remove_tupอะไรแทน ฉันไม่สามารถหาวิธีลบรายการในแบบนี้ได้
934 python  iteration 

11
วิธีในการวนซ้ำรายการใน Java
ค่อนข้างใหม่กับภาษาจาวาฉันพยายามทำความคุ้นเคยกับทุกวิธี (หรืออย่างน้อยก็ไม่ใช่คนที่ไม่ใช่พยาธิวิทยา) ที่อาจทำซ้ำผ่านรายการ (หรืออาจจะเป็นชุดอื่น ๆ ) และข้อดีหรือข้อเสียของแต่ละคน รับList<E> listวัตถุฉันรู้วิธีต่อไปนี้เพื่อวนรอบองค์ประกอบทั้งหมด: พื้นฐานสำหรับการ วนซ้ำ (แน่นอนว่ามีความเท่าเทียมwhile/ do whileลูปด้วย) // Not recommended (see below)! for (int i = 0; i < list.size(); i++) { E element = list.get(i); // 1 - can call methods of element // 2 - can use 'i' to make index-based …



12
iterator, iterable และ iteration คืออะไรกันแน่?
คำจำกัดความพื้นฐานที่สุดของ "iterable", "iterator" และ "iteration" ใน Python คืออะไร? ฉันได้อ่านคำจำกัดความหลายคำ แต่ฉันไม่สามารถระบุความหมายที่แน่นอนได้เนื่องจากมันยังไม่จม ใครสามารถช่วยฉันด้วยคำจำกัดความ 3 คำในคนธรรมดา?

6
วิธีการข้ามไปยังการทำซ้ำครั้งถัดไปใน jQuery.each () util
ฉันพยายามวนซ้ำองค์ประกอบต่างๆ เอกสารของ jQuery พูดว่า: เอกสาร jquery.Each () การส่งกลับค่าที่ไม่ใช่เท็จนั้นเหมือนกับคำสั่ง continue ใน a for loop มันจะข้ามไปที่การวนซ้ำถัดไปทันที ฉันลองโทรหา 'return non-false;' และ 'ไม่ใช่เท็จ' (sans กลับมา) ทั้งที่ไม่ข้ามไปยังการทำซ้ำต่อไป แต่พวกเขาทำลายวง ฉันกำลังคิดถึงอะไร

15
จะวนซ้ำวัตถุ JavaScript ได้อย่างไร
ฉันมีวัตถุใน JavaScript: { abc: '...', bca: '...', zzz: '...', xxx: '...', ccc: '...', // ... } ฉันต้องการใช้การforวนซ้ำเพื่อรับคุณสมบัติ และฉันต้องการวนซ้ำในส่วน (ไม่ใช่คุณสมบัติของวัตถุทั้งหมดในครั้งเดียว) ด้วยอาร์เรย์ที่เรียบง่ายฉันสามารถทำได้ด้วยforลูปมาตรฐาน: for (i = 0; i < 100; i++) { ... } // first part for (i = 100; i < 300; i++) { ... } // second for (i = …

21
วนซ้ำตามช่วงวันที่ใน Python
ฉันมีรหัสต่อไปนี้เพื่อทำสิ่งนี้ แต่ฉันจะทำได้ดีกว่าได้อย่างไร ตอนนี้ฉันคิดว่ามันดีกว่าลูปซ้อนกัน แต่มันเริ่มรับ Perl-one-linerish เมื่อคุณมีเครื่องกำเนิดไฟฟ้าในรายการความเข้าใจ day_count = (end_date - start_date).days + 1 for single_date in [d for d in (start_date + timedelta(n) for n in range(day_count)) if d <= end_date]: print strftime("%Y-%m-%d", single_date.timetuple()) หมายเหตุ ฉันไม่ได้ใช้มันเพื่อพิมพ์ นั่นเป็นเพียงเพื่อการสาธิต start_dateและend_dateตัวแปรdatetime.dateวัตถุเพราะฉันไม่จำเป็นต้องประทับเวลา (พวกมันจะถูกใช้เพื่อสร้างรายงาน) ตัวอย่างผลลัพธ์ สำหรับวันที่เริ่มต้น2009-05-30และวันที่สิ้นสุดของ2009-06-09: 2009-05-30 2009-05-31 2009-06-01 2009-06-02 2009-06-03 2009-06-04 2009-06-05 2009-06-06 2009-06-07 …

19
วิธีที่จะไปจากการเรียกซ้ำไปซ้ำ
ฉันใช้การเรียกซ้ำหลายครั้งในการเขียนโปรแกรมเป็นเวลาหลายปีเพื่อแก้ไขปัญหาที่เรียบง่าย แต่ฉันรู้ดีว่าบางครั้งคุณจำเป็นต้องทำซ้ำเนื่องจากปัญหาหน่วยความจำ / ความเร็ว ดังนั้นบางครั้งในอดีตที่ผ่านมาฉันลองไปหาว่ามี "รูปแบบ" หรือวิธีการแบบหนังสือหรือข้อความใด ๆ ในการเปลี่ยนวิธีการเรียกซ้ำโดยทั่วไปเพื่อทำซ้ำและไม่พบอะไรเลย หรืออย่างน้อยก็ไม่มีอะไรที่ฉันจำได้ว่ามันจะช่วย มีกฎทั่วไปหรือไม่ มี "รูปแบบ" หรือไม่?


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