Lặp qua các phần tử
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 69 trên 86.
Giờ bạn đã biết cách tạo và thay đổi mảng (array), hãy cùng tìm hiểu cách xử lý từng phần tử (element) một. Vòng lặp (loop) for-in giúp việc này trở nên vô cùng đơn giản.
Khi dùng vòng lặp for-in với một mảng, Swift tự động đưa cho bạn từng phần tử theo thứ tự:
let fruits = ["Apple", "Banana", "Cherry"]
for fruit in fruits {
print(fruit)
}
// Apple
// Banana
// CherryBiến fruit nhận từng giá trị trong mảng ở mỗi lần lặp. Bạn có thể đặt tên biến này tùy ý, miễn là tên đó phù hợp với dữ liệu của bạn.
Mẫu này rất phù hợp để thực hiện thao tác trên mọi phần tử, chẳng hạn như tính tổng:
let prices = [9.75, 14.50, 3.25]
var total = 0.0
for price in prices {
total += price
}
print(total) // 27.5Bạn cũng có thể dùng vòng lặp để tạo mảng mới dựa trên các mảng hiện có:
let numbers = [1, 2, 3, 4]
var doubled = [Int]()
for number in numbers {
doubled.append(number * 2)
}
print(doubled) // [2, 4, 6, 8]Duyệt qua mảng là một trong những thao tác phổ biến nhất trong lập trình, vì vậy thành thạo cách làm này sẽ rất hữu ích cho bạn.
Thử thách
DễViết một hàm (function) countPositives nhận numbers và trả về số lượng số dương trong mảng.
Dùng vòng lặp for-in để duyệt qua từng phần tử và đếm xem có bao nhiêu phần tử lớn hơn 0.
Tham số:
numbers([Int]): Một mảng số nguyên
Giá trị trả về: Số lượng số dương (lớn hơn 0) trong mảng (Int)
Ví dụ: Nếu numbers là [-3, 5, 0, 8, -1, 12], hàm sẽ trả về 3 (các số dương là 5, 8 và 12).
Tự làm thử
func countPositives(numbers: [Int]) -> Int {
// 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