Menu
CoddyTech

Cắt mảng phần 2

Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 74 trên 86.

Swift cung cấp cú pháp viết tắt tiện lợi để cắt mảng từ đầu hoặc đến cuối. Thay vì chỉ định 0 hoặc chỉ số cuối cùng một cách rõ ràng, bạn có thể để trống một phía của phạm vi.

Để cắt mảng từ đầu đến một chỉ số cụ thể, hãy bỏ qua giá trị bắt đầu:

let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree)  // [10, 20, 30]

Tương tự, để cắt từ một chỉ số cụ thể đến cuối, hãy bỏ qua giá trị kết thúc:

let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2)  // [30, 40, 50]

Bạn cũng có thể dùng phiên bản khoảng đóng để bao gồm một chỉ số kết thúc cụ thể:

let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3)  // ["a", "b", "c", "d"]

Các phạm vi một phía này giúp code của bạn gọn hơn khi bạn cần vài phần tử đầu tiên hoặc mọi phần tử sau một vị trí nhất định. Hãy nhớ bọc kết quả trong Array() nếu bạn cần một mảng thông thường thay vì ArraySlice.

challenge icon

Thử thách

Dễ
Viết một hàm (function) splitArray nhận numbers và index, rồi trả về tất cả phần tử từ chỉ số đã cho đến cuối mảng.

Dùng toán tử phạm vi một phía (...) để lấy phần tử từ chỉ số đã chỉ định đến cuối mảng, rồi trả về kết quả dưới dạng mảng thông thường.

Tham số:

  • numbers ([Int]): Mảng cần lấy phần tử
  • index (Int): Chỉ số bắt đầu (bao gồm)

Giá trị trả về: Mảng chứa tất cả phần tử từ chỉ số đã cho đến cuối mảng ([Int])

Ví dụ: Nếu numbers là [5, 10, 15, 20, 25, 30] và index là 3, hàm sẽ trả về [20, 25, 30].

Tự làm thử

func splitArray(numbers: [Int], index: Int) -> [Int] {
    // Viết code tại đây
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Playground Swift