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: tKỹ 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) // aceLư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 đó.
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
}
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
4Các toán tử, phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpÔn tập: phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Hàm in raNội suy chuỗiĐầu vào từ dòngChuyển đổi kiểu dữ liệuÔn tập đến 120Ôn tập đúng hay sai3Giá trị tùy chọn
Giá trị tùy chọn là gìMở gói bằng if letGuard letToán tử gộp nilÔn tập: mở gói an toàn6Ra quyết định
Câu lệnh ifIf và elseÔn tập: máy tính đơn giảnCâu lệnh switchSwitch với khoảng giá trị9Vòng lặp
Vòng lặp for-inVòng lặp whileVòng lặp repeat-whileBreakContinueÔn tập: giai thừaDải giá trị trong vòng lặpVòng lặp lồng nhauÔn tập: đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: Danh sách sản phẩmÔn tập: Mảng đảo ngượcTuple15Trình theo dõi chi tiêu hằng ngày
Tổng quan về dự ánThoát chương trìnhTự luyện tập: Playground Swift