Mảng trong swift – Swift Arrays (Bài 5)
Mảng trong swift được sử dụng để lưu trữ danh sách các giá trị có cùng kiểu dữ liệu. Nếu bạn khai báo một mảng theo dạng biến, điều đó có nghĩa là bạn có thể thay đổi nó như thêm, xoá, hoặc thay đổi giá trị của các phần tử trong mảng. Nhưng nếu bạn khai báo mảng theo dạng hằng số, thì mảng này không thể thay đổi.
Mảng trong swift – Tạo mảng (Creating Arrays)
Cách 1: Bạn có thể tạo một mảng rỗng theo cú pháp bên dưới
var arrayName = [DataType]()
Cách 2: Tạo một mảng có chỉ định kích thước và giá trị khởi tạo cho các phần tử
var arrayName = [DataType](count: NumbeOfElements, repeatedValue: InitialValue)
Ví dụ về tạo mảng trong swift có 3 phần tử số nguyên và giá trị khởi tạo cho các phần tử là 0
var arrInts = [Int](count: 3, repeatedValue: 0)
Một ví dụ khác về tạo mảng trong swift có 3 phần tử và khởi tạo giá trị cho các phần tử
var arrInts:[Int] = [10, 20, 30]
Mảng trong swift – Truy cập mảng (Accessing Arrays)
Bạn có thể lấy giá trị của các phần tử trong mảng sử dụng chỉ số theo cú pháp sau
var element = arrayName[index]
Ở đây chỉ số (index) bắt đầu từ 0, điều đó có nghĩa là phần tử đầu tiên được truy cập với chỉ số là 0, phần tử thứ 2 được truy cập với chỉ số là 1 và …
Ví dụ
import UIKit
var arrInts = [Int](count: 3, repeatedValue: 7)
var element = arrInts[0]
print("Giá trị của phần tử đầu tiên là \(element)")
print("Giá trị của phần tử thứ hai là \(arrInts[1])")
print("Giá trị của phần tử thứ ba là \(arrInts[2])")
Khi chạy chương trình trên sử dụng playground, chúng ta sẽ nhận được kết quả
(Trong Playground -> chọn View -> chọn Debug Area -> chọn Show Debug Area)
Mảng trong swift – Sửa đổi mảng (Modifying Arrays)
Bạn có thể sử dụng phương thức append() hoặc toán tử (+=) để thêm mới một phần tử vào cuối mảng. Sau đây là một ví dụ
import UIKit
var arrInts = [Int]()
arrInts.append(10)
arrInts.append(20)
arrInts += [30]
var element = arrInts[0]
print("Giá trị của phần tử thứ nhất là \(element)")
print("Giá trị của phần tử thứ hai là \(arrInts[1])")
print("Giá trị của phần tử thứ ba là \(arrInts[2])")
Khi chạy chương trình trên sử dụng playground, chúng ta sẽ nhận được kết quả
Giá trị của phần tử thứ nhất là 10
Giá trị của phần tử thứ hai là 20
Giá trị của phần tử thứ ba là 30
Ngoài ra, bạn có thể thay đổi giá trị cho phần tử đã tồn tại bằng giá trị mới dựa vào chỉ số như ví dụ bên dưới
import UIKit
var arrInts = [Int]()
arrInts.append(10)
arrInts.append(20)
arrInts += [30]
// Modify last element
arrInts[2] = 50
var element = arrInts[0]
print("Giá trị của phần tử thứ nhất là \(element)")
print("Giá trị của phần tử thứ hai là \(arrInts[1])")
print("Giá trị của phần tử thứ ba là \(arrInts[2])")
Khi chạy chương trình trên sử dụng playground, chúng ta sẽ nhận được kết quả
Giá trị của phần tử thứ nhất là 10
Giá trị của phần tử thứ hai là 20
Giá trị của phần tử thứ ba là 50
Mảng trong swift – Duyệt mảng (Iterating Over an Array)
Bạn có thể sử dụng for…in để truy xuất toàn bộ giá trị của các phần tử trong mảng như ví dụ bên dưới
import UIKit
var arrStrs = [String]()
arrStrs.append("Apple")
arrStrs.append("Microsoft")
arrStrs += ["Google"]
for item in arrStrs {
print(item)
}
Khi chạy chương trình trên sử dụng playground, chúng ta sẽ nhận được kết quả
Apple
Microsoft
Bạn cũng có thể sử dụng hàm enumerate() để trả về chỉ số cùng với giá trị của phần tử như ví dụ sau
import UIKit
var arrStrs = [String]()
arrStrs.append("Apple")
arrStrs.append("Microsoft")
arrStrs += ["Google"]
for (index, item) in arrStrs.enumerate() {
print("Giá trị của phần tử thứ \(index) là \(item)")
}
Khi chạy chương trình trên sử dụng playground, chúng ta sẽ nhận được kết quả
Giá trị của phần tử thứ 0 là Apple
Giá trị của phần tử thứ 1 là Microsoft
Giá trị của phần tử thứ 2 là Google
Tổng kết mảng trong swift
- Tạo mảng
- Truy cập mảng
- Sửa đổi mảng
- Duyệt mảng
Mảng trong swift – Bài tập thực hành
Bài thực hành số 1: Biến đổi các số dương trong mảng thành số 1, các số còn lại thành số 0.
Bài thực hành số 2: Số dương bé nhất, số âm lớn nhất trong mảng.
Bài thực hành số 3: Vị trí đầu tiên của số lẻ, vị trí cuối cùng của số chẵn trong mảng.
Bài thực hành số 4: Đổi chỗ giữa số lẻ đầu tiên và số chẵn cuối cùng của mảng nếu có.
Bài thực hành số 5: Sắp xếp thành một dãy tăng dần. Nhập số nguyên x, chèn x vào tại vị trí thích hợp để dãy vẫn là một dãy tăng.
Bài thực hành số 6: Kiểm tra một dãy có toàn là các số chính phương hay không