คำถามติดแท็ก for-loop

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

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วงที่เรียบง่ายกว่า …

19
ฉันสามารถใช้ตัวแบ่งเพื่อออกจากลูปหลาย ๆ อัน 'สำหรับ' ลูปได้หรือไม่
เป็นไปได้ไหมที่จะใช้breakฟังก์ชั่นนี้เพื่อออกจากforลูปซ้อนหลายอัน? ถ้าเป็นเช่นนั้นคุณจะทำสิ่งนี้อย่างไร คุณสามารถควบคุมจำนวนการbreakออกจากลูปได้หรือไม่


19
ฉันจะแยกวงใน Scala ได้อย่างไร
ฉันจะแยกวงได้อย่างไร var largest=0 for(i<-999 to 1 by -1) { for (j<-i to 1 by -1) { val product=i*j if (largest>product) // I want to break out here else if(product.toString.equals(product.toString.reverse)) largest=largest max product } } ฉันจะเปลี่ยนลูปเป็นลูปเป็นการวนรอบแบบวนซ้ำได้อย่างไร? จาก Scala Talk ที่ FOSDEM 2009 http://www.slideshare.net/Odersky/fosdem-2009-1013261 ในหน้า 22: ทำลายและดำเนินการต่อสกาล่าไม่ได้มีพวกเขา ทำไม? พวกเขามีความจำเป็นเล็กน้อย ดีกว่าใช้ฟังก์ชั่นขนาดเล็กจำนวนมากออกวิธีการโต้ตอบกับการปิด พวกเขาไม่ต้องการ! คำอธิบายคืออะไร

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 

30
วงกลับเร็วขึ้นจริงๆหรือ
ฉันเคยได้ยินเรื่องนี้ค่อนข้างน้อย JavaScript มีการวนซ้ำเร็วขึ้นจริงหรือไม่เมื่อนับถอยหลัง ถ้าเป็นเช่นนั้นทำไม ฉันเห็นตัวอย่างชุดทดสอบสองสามตัวอย่างที่แสดงว่าลูปที่กลับด้านนั้นเร็วกว่า แต่ฉันไม่สามารถหาคำอธิบายได้ว่าทำไม! ฉันสมมติว่าเป็นเพราะลูปไม่ต้องประเมินคุณสมบัติทุกครั้งที่ตรวจสอบเพื่อดูว่ามันเสร็จแล้วและตรวจสอบกับค่าตัวเลขสุดท้าย กล่าวคือ for (var i = count - 1; i >= 0; i--) { // count is only evaluated once and then the comparison is always on 0. }

10
วิธี Pythonic เพื่อรวมคำสั่ง FOR สำหรับลูปและ IF
ฉันรู้วิธีใช้ทั้งลูปและ if statement ในบรรทัดแยกเช่น: >>> a = [2,3,4,5,6,7,8,9,0] ... xyz = [0,12,4,6,242,7,9] ... for x in xyz: ... if x in a: ... print(x) 0,4,6,7,9 และฉันรู้ว่าฉันสามารถใช้ list comprehension เพื่อรวมสิ่งเหล่านี้เมื่อข้อความง่าย ๆ เช่น: print([x for x in xyz if x in a]) แต่สิ่งที่ฉันไม่สามารถหาได้เป็นตัวอย่างที่ดีที่ใดก็ได้ (เพื่อคัดลอกและเรียนรู้จาก) แสดงชุดคำสั่งที่ซับซ้อน (ไม่ใช่แค่ "พิมพ์ x") ที่เกิดขึ้นหลังจากการรวมกันของ for for loop …

18
จะรับค่าของปุ่มตัวเลือกได้อย่างไร?
ฉันมีปัญหาบางอย่างกับโปรแกรม JS ของฉัน ฉันทำงานอย่างถูกต้อง แต่ด้วยเหตุผลบางอย่างมันไม่ทำงานอีกต่อไป ฉันแค่ต้องการหาค่าของปุ่มตัวเลือก (อันไหนที่เลือก) และกลับไปที่ตัวแปร ด้วยเหตุผลบางอย่างมันกลับมาundefinedอย่างต่อเนื่อง นี่คือรหัสของฉัน: function findSelection(field) { var test = 'document.theForm.' + field; var sizes = test; alert(sizes); for (i=0; i < sizes.length; i++) { if (sizes[i].checked==true) { alert(sizes[i].value + ' you got a value'); return sizes[i].value; } } } submitForm: function submitForm() { …

5
รับการนับลูปภายใน Python FOR
ในไพ ธ อน for loop ที่วนซ้ำในรายการเราสามารถเขียน: for item in list: print item และมันจะผ่านองค์ประกอบทั้งหมดในรายการอย่างเรียบร้อย มีวิธีที่จะรู้ในวงกี่ครั้งที่ฉันได้วนซ้ำจนถึงขณะนี้? ตัวอย่างเช่นฉันต้องการทำรายการและหลังจากที่ฉันได้ประมวลผลองค์ประกอบสิบรายการฉันต้องการทำบางสิ่งกับพวกเขา ทางเลือกที่ฉันคิดเกี่ยวกับจะเป็นเช่น: count=0 for item in list: print item count +=1 if count % 10 == 0: print 'did ten' หรือ: for count in range(0,len(list)): print list[count] if count % 10 == 0: print 'did ten' …
259 python  for-loop 

8
วิธีทำให้ประเภทที่กำหนดเองของฉันทำงานกับ“ ช่วงตามลูป” ได้อย่างไร
เช่นเดียวกับหลาย ๆ คนในทุกวันนี้ฉันได้ลองใช้คุณสมบัติที่แตกต่างที่ C ++ 11 นำมาใช้ หนึ่งในรายการโปรดของฉันคือ "ช่วงตามลูป" ฉันเข้าใจ: for(Type& v : a) { ... } เทียบเท่ากับ: for(auto iv = begin(a); iv != end(a); ++iv) { Type& v = *iv; ... } และนั่นbegin()ก็แค่ส่งคืนa.begin()สำหรับคอนเทนเนอร์มาตรฐาน แต่สิ่งที่ถ้าผมต้องการที่จะทำให้ประเภทของฉันเอง "ช่วงที่ใช้สำหรับวง" -aware ? ฉันควรจะมีความเชี่ยวชาญbegin()และend()? หากประเภทที่กำหนดเองของฉันเป็นของเนมสเปซxmlฉันควรกำหนดxml::begin()หรือstd::begin()? ในระยะสั้นสิ่งที่เป็นแนวทางในการทำเช่นนั้น?

3
Django - วนซ้ำในวงวนของเทมเพลต
ฉันมีสิ่งต่อไปนี้สำหรับการวนซ้ำในเทมเพลต django ที่แสดงวัน ฉันสงสัยว่ามันเป็นไปได้ที่จะวนซ้ำ (ในกรณีด้านล่าง i) ในวง หรือฉันต้องเก็บไว้ในฐานข้อมูลแล้วทำการสืบค้นในรูปแบบของ day.day_number? {% for days in days_list %} <h2># Day {{ i }} - From {{ days.from_location }} to {{ days.to_location }}</h2> {% endfor %}

8
เป็นไปได้ไหมที่จะประกาศสองตัวแปรของชนิดที่แตกต่างกันใน for for loop
เป็นไปได้ไหมที่จะประกาศสองตัวแปรที่มีชนิดต่างกันในเนื้อความการเริ่มต้นของ for for loop ใน C ++? ตัวอย่างเช่น: for(int i=0,j=0 ... กำหนดจำนวนเต็มสองจำนวน ฉันสามารถนิยามinta และ a charในส่วนเริ่มต้นได้หรือไม่? สิ่งนี้จะเกิดขึ้นได้อย่างไร?

27
ทำไมต้องใช้ตัววนซ้ำแทนดัชนีอาร์เรย์
รับโค้ดสองบรรทัดต่อไปนี้: for (int i = 0; i < some_vector.size(); i++) { //do stuff } และนี่: for (some_iterator = some_vector.begin(); some_iterator != some_vector.end(); some_iterator++) { //do stuff } ฉันบอกว่าวิธีที่สองเป็นที่ต้องการ ทำไมถึงเป็นอย่างนี้


22
แยกออกจากวงซ้อนกัน
หากฉันมีการวนซ้ำแบบวนซ้ำซึ่งซ้อนกันภายในอีกครั้งฉันจะออกมาได้อย่างมีประสิทธิภาพทั้งจากลูป (ภายในและภายนอก) ในวิธีที่เร็วที่สุดที่เป็นไปได้อย่างไร ฉันไม่ต้องการใช้บูลีนและต้องบอกว่าไปยังวิธีอื่น แต่เพียงเพื่อรันโค้ดบรรทัดแรกหลังจากวนรอบด้านนอก อะไรคือวิธีที่รวดเร็วและดีที่จะทำเรื่องนี้? ฉันคิดว่าการยกเว้นจะไม่ถูก / ควรถูกโยนในสภาพที่ยอดเยี่ยมจริงๆเท่านั้นดังนั้นฉันไม่คิดว่าวิธีนี้จะดีในแง่ของประสิทธิภาพ ฉันไม่รู้สึกว่ามันถูกต้องที่จะใช้ประโยชน์จากฟีเจอร์ใหม่ใน. NET (วิธี anon) เพื่อทำสิ่งที่ค่อนข้างพื้นฐาน

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