prefix, suffix และ dropFirst
เลือกบางส่วนของคอลเลกชันด้วยวิธีประกาศ
prefix, suffix และ dropFirst เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
prefix(n)
prefix(n) ส่งคืนส่วนย่อยของสมาชิก n รายการแรก โดยปลอดภัยแม้ n จะมากกว่าจำนวนสมาชิกในอาร์เรย์
let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(3)))
print(Array(arr.prefix(99)))suffix(n)
suffix(n) ส่งคืนส่วนย่อยของสมาชิก n รายการสุดท้าย และจำกัดขอบเขตอย่างปลอดภัยเช่นกัน
let arr = [1, 2, 3, 4, 5]
print(Array(arr.suffix(2)))
print(Array(arr.suffix(0)))dropFirst
dropFirst() ลบสมาชิก first ซึ่งเป็นสมาชิกตัวแรก ส่วน dropFirst(n) จะลบสมาชิก first จำนวน n รายการ
let arr = [10, 20, 30, 40]
print(Array(arr.dropFirst()))
print(Array(arr.dropFirst(2)))dropLast
dropLast() ลบสมาชิกจากท้าย และเช่นเดียวกับเมธอดอื่น ๆ เมธอดนี้ส่งคืนส่วนย่อย
let arr = [10, 20, 30, 40]
print(Array(arr.dropLast()))
print(Array(arr.dropLast(3)))ทั้งหมดส่งคืนส่วนย่อย
เมธอดเหล่านี้ทุกเมธอดส่งคืน ArraySlice ไม่ใช่อาร์เรย์ใหม่ ให้แปลงเมื่อคุณต้องการอาร์เรย์แบบปกติ
let arr = [1, 2, 3, 4]
let s = arr.prefix(2)
print(type(of: s))ปลอดภัยเมื่อ n มีค่ามาก
ต่างจากการใช้การเข้าถึงด้วยช่วงที่อยู่นอกขอบเขต เมธอดเหล่านี้จะไม่ทำให้โปรแกรมหยุดทำงาน การขอสมาชิกมากกว่าที่มีจะส่งคืนเฉพาะสมาชิกที่มีอยู่
let arr = [1, 2]
print(Array(arr.prefix(10)))
print(Array(arr.dropFirst(10)))prefix(while:)
prefix(while:) นำสมาชิกจากจุดเริ่มต้นตราบเท่าที่เงื่อนไขเป็นจริง จากนั้นจึงหยุด
let arr = [2, 4, 6, 7, 8]
let evensAtStart = arr.prefix(while: { $0 % 2 == 0 })
print(Array(evensAtStart))drop(while:)
drop(while:) ข้ามสมาชิกที่อยู่ด้านหน้าในขณะที่เงื่อนไขเป็นจริง แล้วส่งคืนสมาชิกที่เหลือ
let arr = [2, 4, 6, 7, 8]
let rest = arr.drop(while: { $0 % 2 == 0 })
print(Array(rest))การรวมเมธอด
เชื่อมเมธอดเหล่านี้เข้าด้วยกันเพื่อเขียนการตัดส่วนย่อยได้อย่างกระชับ เช่น การเลือกทุกอย่างยกเว้นสมาชิกตัวแรกและตัวสุดท้าย
let arr = [10, 20, 30, 40, 50]
let middle = arr.dropFirst().dropLast()
print(Array(middle))รูปแบบการดูค่ากับการนำออก
ใช้ first เพื่อดูค่า และใช้ dropFirst() เพื่อรับส่วนที่เหลือ ซึ่งเป็นรูปแบบเชิงฟังก์ชันที่ใช้กันทั่วไปในการประมวลผลรายการ
let queue = [100, 200, 300]
if let head = queue.first {
let tail = Array(queue.dropFirst())
print("head:", head, "tail:", tail)
}เจตนาที่อ่านเข้าใจง่าย
เมธอดเหล่านี้สื่อเจตนาได้ดีกว่าการระบุช่วงด้วยตนเอง arr.suffix(3) อ่านเข้าใจง่ายกว่า arr[(arr.count-3)...]
let arr = [1, 2, 3, 4, 5, 6]
print(Array(arr.suffix(3)))ตรวจสอบความเข้าใจ
ทดสอบพฤติกรรมของ prefix และ drop
สรุปทบทวน
prefix(n) และ suffix(n) เลือกสมาชิกจากปลายทั้งสองด้าน ส่วน dropFirst และ dropLast จะลบสมาชิกจากปลายทั้งสองด้าน เมธอดทั้งหมดส่งคืนส่วนย่อยและปลอดภัยเมื่อจำนวนที่ระบุมีค่ามากเกินไป ส่วน prefix(while:) และ drop(while:) ใช้เงื่อนไข
let arr = [1, 2, 3, 4, 5]
print(Array(arr.prefix(2)), Array(arr.suffix(2)), Array(arr.dropFirst()))คำถามที่พบบ่อย
บทเรียน “prefix, suffix และ dropFirst” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “prefix, suffix และ dropFirst” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “prefix, suffix และ dropFirst”
เลือกบางส่วนของคอลเลกชันด้วยวิธีประกาศ คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “prefix, suffix และ dropFirst” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้างส่วนตัดด้วยช่วงค่า
- ความหมายของดัชนีใน ArraySlice
- การแปลงส่วนตัดกลับเป็นอาร์เรย์
- prefix, suffix และ dropFirst