Menu
CoddyTech

Lặp qua chuỗi P2

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 72 trên 86.

Cũng như khi dùng enumerated() với mảng để lấy cả chỉ số lẫn phần tử, bạn có thể làm tương tự với chuỗi. Cách này hữu ích khi bạn cần biết vị trí của từng ký tự trong lúc lặp.

let word = "Swift"

for (index, char) in word.enumerated() {
    print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: t

Kỹ thuật này hữu ích khi tạo chuỗi mới dựa trên vị trí ký tự. Ví dụ, bạn có thể chỉ muốn giữ lại các ký tự ở chỉ số chẵn:

let text = "abcdef"
var result = ""

for (index, char) in text.enumerated() {
    if index % 2 == 0 {
        result += String(char)
    }
}

print(result)  // ace

Lưu ý rằng ta chuyển char thành String bằng cách dùng String(char) trước khi nối thêm. Điều này cần thiết vì result là một String, và bạn không thể dùng toán tử += để nối trực tiếp một ký tự (character) vào đó.

challenge icon

Thử thách

Dễ
Viết hàm (function) extractOddIndexChars nhận text và trả về một chuỗi (string) mới chỉ chứa các ký tự ở chỉ số lẻ.

Dùng enumerated() để duyệt qua chuỗi và tạo kết quả gồm các ký tự có chỉ số lẻ (1, 3, 5, v.v.).

Tham số:

  • text (String): Chuỗi đầu vào cần xử lý

Giá trị trả về: Chuỗi chỉ chứa các ký tự ở chỉ số lẻ (String)

Ví dụ: Nếu text là "abcdefg", hàm sẽ trả về "bdf" (các ký tự ở chỉ số 1, 3 và 5).

Tự làm thử

func extractOddIndexChars(text: String) -> String {
    // Viết code ở đâ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