Swift Academy · บทเรียน

วนซ้ำคอลเลกชันด้วย for-in

วนซ้ำผ่านอาร์เรย์ พจนานุกรม และเซตด้วย enumerated และ zip

บทเรียน 3 จาก 412 ขั้นตอน

วนซ้ำคอลเลกชันด้วย for-in เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

ลูป `for-in` ทำงานร่วมกับ `Sequence` ใด ๆ ได้ ไม่ว่าจะเป็นอาร์เรย์ พจนานุกรม เซต สตริง หรือชนิดข้อมูลที่คุณสร้างเอง มาดูรูปแบบการใช้งานที่มีประโยชน์ที่สุดกัน

การวนผ่านอาร์เรย์

```swift let fruits = ["apple", "banana", "cherry"] for fruit in fruits { print(fruit) } // apple, banana, cherry ``` ในแต่ละรอบ ค่าของสมาชิกหนึ่งตัวจะถูกผูกไว้กับ `fruit`

enumerated() — ดัชนีและค่า

เมื่อคุณต้องการทั้งดัชนีและค่า ให้ใช้ `.enumerated()`: ```swift for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") } // 0: apple // 1: banana // 2: cherry ``` `enumerated()` จะคืนค่าลำดับของทูเพิล `(offset, element)`

การวนผ่านพจนานุกรม

การวนผ่านพจนานุกรมจะให้ทูเพิล `(key, value)` ตามลำดับที่ไม่กำหนดแน่นอน: ```swift let scores = ["Alice": 95, "Bob": 87] for (name, score) in scores { print("\(name): \(score)") } ``` ให้เรียงคีย์ก่อนหากต้องการลำดับที่แน่นอน

การวนผ่านเซต

การวนผ่านเซตจะเกิดขึ้นตามลำดับที่ไม่กำหนดแน่นอน: ```swift let colors: Set = ["red", "green", "blue"] for color in colors.sorted() { print(color) } ``` เรียกใช้ `.sorted()` เมื่อต้องการลำดับตามตัวอักษรหรือลำดับจากน้อยไปมาก

zip() — การวนแบบขนาน

วนผ่านลำดับข้อมูลสองชุดไปพร้อมกันด้วย `zip()`: ```swift let names = ["Alice", "Bob", "Carol"] let scores = [95, 87, 92] for (name, score) in zip(names, scores) { print("\(name): \(score)") } ``` `zip` จะหยุดเมื่อถึงลำดับข้อมูลที่สั้นกว่า

การกรองขณะวนซ้ำ: อนุประโยค where

เพิ่มอนุประโยค `where` เพื่อข้ามสมาชิกได้โดยตรงในบรรทัด: ```swift for n in 1...20 where n % 3 == 0 { print(n) // 3, 6, 9, 12, 15, 18 } ``` วิธีนี้อ่านง่ายกว่าการใส่ `if` ไว้ภายในตัวลูป

การวนซ้ำด้วยดัชนี

เข้าถึงช่วงดัชนีดิบด้วย `.indices`: ```swift var arr = [10, 20, 30] for i in arr.indices { arr[i] *= 2 } // arr is now [20, 40, 60] ``` ใช้วิธีนี้เมื่อจำเป็นต้อง *เปลี่ยนแปลง* สมาชิก ณ ตำแหน่งเดิม

การแยกองค์ประกอบทูเพิลใน for-in

ลำดับของทูเพิลสามารถแยกองค์ประกอบได้โดยตรงภายในลูป: ```swift let points = [(1, 2), (3, 4), (5, 6)] for (x, y) in points { print("x=\(x), y=\(y)") } ``` ชัดเจนและกระชับ — ไม่จำเป็นต้องใช้ตัวห้อย `.0` และ `.1`

ลำดับแบบขี้เกียจในลูป

เติม `.lazy` ไว้ข้างหน้าเพื่อเลื่อนการคำนวณและหลีกเลี่ยงอาร์เรย์ชั่วคราว: ```swift let total = (1...1_000_000) .lazy .filter { $0 % 2 == 0 } .prefix(5) .reduce(0, +) print(total) // 30 ``` `.lazy` มีประโยชน์อย่างมากเมื่อต่อการดำเนินการหลายอย่างกับลำดับขนาดใหญ่

ตรวจสอบอย่างรวดเร็ว

เมธอดใดให้ทั้งดัชนีและค่าเมื่อวนซ้ำในอาร์เรย์

สรุปทบทวน

ประเด็นสำคัญ: • `for elem in collection` — การวนซ้ำพื้นฐาน • `.enumerated()` — คู่ดัชนีและค่า • `zip(a, b)` — การวนซ้ำลำดับสองชุดแบบขนาน • `for x in seq where condition` — การกรองในบรรทัดเดียว • `.indices` — ใช้เมื่อต้องเปลี่ยนแปลงสมาชิก • `.lazy` — เลื่อนการประมวลผลในลำดับขนาดใหญ่ ถัดไป: `break`, `continue` และคำสั่งแบบมีป้ายกำกับ
เริ่มต้นได้ฟรี

เรียนรู้ Swift ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
122
บทเรียน
409

คำถามที่พบบ่อย

บทเรียน “วนซ้ำคอลเลกชันด้วย for-in” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “วนซ้ำคอลเลกชันด้วย for-in” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “วนซ้ำคอลเลกชันด้วย for-in”

วนซ้ำผ่านอาร์เรย์ พจนานุกรม และเซตด้วย enumerated และ zip คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “วนซ้ำคอลเลกชันด้วย for-in” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ลูป for-in กับช่วงค่า
  2. ลูป while และ repeat-while
  3. วนซ้ำคอลเลกชันด้วย for-in
  4. break, continue และคำสั่งที่มีป้ายกำกับ
← กลับไปที่ Swift Academy