Phương thức của mảng
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 65 trên 86.
Ngoài việc thêm và xóa phần tử, mảng trong Swift còn có một số phương thức hữu ích giúp bạn làm việc với các tập hợp dễ dàng hơn.
Thuộc tính isEmpty kiểm tra xem mảng có phần tử nào không:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falseĐể xóa tất cả phần tử cùng lúc, hãy dùng removeAll():
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []Phương thức reversed() trả về các phần tử theo thứ tự đảo ngược:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Để sắp xếp, hãy dùng sorted() để tạo một mảng mới đã sắp xếp, hoặc dùng sort() để sắp xếp mảng tại chỗ:
let scores = [85, 42, 97, 63]
print(scores.sorted()) // [42, 63, 85, 97]
var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices) // [2.5, 5.75, 9.99]Lưu ý rằng sorted() trả về một mảng mới và giữ nguyên mảng ban đầu, còn sort() sửa đổi trực tiếp mảng ban đầu.
Thử thách
DễViết một hàm (function) processScores nhận scores và trả về một chuỗi (string) được định dạng, chứa thông tin về các điểm số.
Hàm này cần phân tích mảng (array) và tạo chuỗi kết quả gồm ba thông tin.
Logic:
- Kiểm tra xem mảng có rỗng không bằng
isEmpty - Nếu mảng rỗng, trả về
"No scores" - Nếu không, lấy các điểm số đã sắp xếp (theo thứ tự tăng dần) và các điểm số theo thứ tự đảo ngược
- Trả về một chuỗi kết hợp cả hai kết quả
Tham số:
scores([Int]): Một mảng các điểm số nguyên (integer)
Giá trị trả về: Một chuỗi theo định dạng: "Sorted: [sorted_array], Reversed: [reversed_array]" hoặc "No scores" nếu mảng rỗng (String)
Ví dụ: Nếu scores là [85, 42, 97, 63], hàm sẽ trả về:
"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"Lưu ý: Mảng đảo ngược phải là mảng đảo ngược của mảng ban đầu, không phải mảng đã sắp xếp.
Tự làm thử
func processScores(scores: [Int]) -> 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