การสร้างส่วนตัดด้วยช่วงค่า
ดึงลำดับย่อยโดยไม่ต้องคัดลอก
การสร้างส่วนตัดด้วยช่วงค่า เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
การใช้ช่วงเป็นดัชนี
เมื่อคุณใช้ ช่วง เป็นดัชนีของอาร์เรย์ Swift จะไม่คัดลอกองค์ประกอบไปยังอาร์เรย์ใหม่ แต่จะส่งคืน ArraySlice ที่ใช้พื้นที่จัดเก็บร่วมกับอาร์เรย์ต้นฉบับ
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice)
print(type(of: slice))ช่วงแบบกึ่งเปิด
ตัวดำเนินการ ..< ใช้สร้างช่วงแบบกึ่งเปิด 1..<4 รวมดัชนี 1, 2 และ 3 แต่ ไม่รวม 4
let letters = ["a", "b", "c", "d", "e"]
let middle = letters[1..<4]
print(middle)การแบ่งส่วนด้วยช่วงแบบปิด
ใช้ ... สำหรับช่วงแบบปิดเมื่อต้องการรวมขอบเขตบน 1...3 ครอบคลุมดัชนี 1, 2 และ 3
let scores = [88, 92, 75, 64, 99]
let closed = scores[1...3]
print(closed)ช่วงด้านเดียว
Swift รองรับช่วงด้านเดียว arr[2...] หมายถึงตั้งแต่ดัชนี 2 จนถึงท้ายสุด ส่วน arr[..<2] หมายถึงทุกอย่างก่อนดัชนี 2
let data = [1, 2, 3, 4, 5, 6]
print(data[3...])
print(data[..<3])slice เป็นมุมมอง
ArraySlice คือมุมมองเข้าสู่อาร์เรย์หลัก การสร้างจึงใช้ต้นทุนต่ำ เพราะจะไม่มีการคัดลอกองค์ประกอบจนกว่าคุณจะแก้ไขหรือแปลงมัน
let big = Array(1...1000)
let window = big[100..<105]
print(window)การวนซ้ำผ่าน slice
คุณสามารถวนลูปผ่าน slice ได้เหมือนกับอาร์เรย์ ค่าที่ได้คือองค์ประกอบเดียวกันกับที่อาร์เรย์หลักเก็บไว้
let words = ["sun", "moon", "star", "comet"]
let pair = words[1..<3]
for w in pair {
print(w)
}slice ของสตริง
การแบ่งส่วนใช้ได้กับองค์ประกอบทุกชนิด ในที่นี้เราเลือกช่วงหนึ่งออกจากอาร์เรย์ชื่อ
let names = ["Ada", "Bob", "Cleo", "Dan", "Eve"]
let some = names[0..<2]
print(some)การใช้ร่วมกับ count
คุณสามารถสร้างช่วงแบบไดนามิกโดยใช้ count ของอาร์เรย์ เพื่อดึงองค์ประกอบสองสามตัวสุดท้าย
let nums = [5, 10, 15, 20, 25]
let lastTwo = nums[(nums.count - 2)..<nums.count]
print(lastTwo)slice ว่าง
ช่วงที่ขอบเขตล่างและขอบเขตบนเท่ากันจะสร้าง slice ว่าง ซึ่งเป็นรูปแบบที่ถูกต้องและปลอดภัย
let arr = [1, 2, 3, 4]
let empty = arr[2..<2]
print(empty)
print(empty.isEmpty)การแบ่งส่วนและการหาผลรวม
เนื่องจาก slice ยังคงสอดคล้องกับโพรโทคอลเดิม คุณจึงสามารถเรียกใช้เมธอดอย่าง reduce กับ slice ได้โดยตรง
let values = [2, 4, 6, 8, 10]
let sum = values[1..<4].reduce(0, +)
print(sum)เหตุใด slice จึงสำคัญ
slice ช่วยให้คุณทำงานกับส่วนย่อยของอาร์เรย์ขนาดใหญ่ได้โดยไม่ต้องเสียต้นทุนในการคัดลอก เหมาะอย่างยิ่งกับอัลกอริทึมอย่างการค้นหาแบบทวิภาคหรือหน้าต่างเลื่อน
let series = Array(1...20)
let firstHalf = series[..<10]
let secondHalf = series[10...]
print(firstHalf.count, secondHalf.count)ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเรื่องการแบ่งส่วนด้วยช่วง
สรุป
คุณได้เรียนรู้ว่าการใช้ช่วงเป็นดัชนีของอาร์เรย์จะส่งคืน ArraySlice ที่ใช้พื้นที่จัดเก็บร่วมกับอาร์เรย์หลัก ช่วงแบบกึ่งเปิด ..< ไม่รวมขอบเขตบน ช่วงแบบปิด ... รวมขอบเขตบน และช่วงด้านเดียวใช้ดึงคำนำหน้าหรือส่วนท้ายได้อย่างประหยัด
let r = [10, 20, 30, 40]
print(r[1..<3])
print(r[1...])
print(r[..<2])คำถามที่พบบ่อย
บทเรียน “การสร้างส่วนตัดด้วยช่วงค่า” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างส่วนตัดด้วยช่วงค่า” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างส่วนตัดด้วยช่วงค่า”
ดึงลำดับย่อยโดยไม่ต้องคัดลอก คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้างส่วนตัดด้วยช่วงค่า” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสร้างส่วนตัดด้วยช่วงค่า
- ความหมายของดัชนีใน ArraySlice
- การแปลงส่วนตัดกลับเป็นอาร์เรย์
- prefix, suffix และ dropFirst