Mảng trong Swift

Nhiều phần tử cùng kiểu dữ liệu, tập hợp lại thành một thứ tự tạo thành mảng, trong mảng một giá trị có thể xuất hiện nhiều lần ở những vị trí khác nhau của mảng. Một biến mảng khai báo đầy đủ là Array<T> với T là kiểu dữ liệu phần tử mà mảng lưu trữ như Int, String, Double ... Một cách ngắn gọn hơn thì khai báo [T] cũng tương đương với Array<T>

Có nhiều cách để có thể khởi tạo một mảng, xem những ví dụ:


// Một mảng các số nguyên 1,2,4
let myNumbers = [1,2,3]

// Mảng chứa các chuỗi
let qua = ["Cam", "Bưởi", "Xoài"]
//Hoặc let qua: [String] = ["Cam", "Bưởi", "Xoài"]


// Mảng Double rỗng (chưa có phần tử nào), khai báo tắt
var emptyDoubles: [Double] = []  //Hoặc var emptyDoubles = [Double]()

//Mảng Float rỗng, khai bảo dạng đầy đủ
var emptyFloats: Array<Float> = Array()

//Khỏi tạo mảng có 10 phần tử số nguyên, các phần tử đó có giá trị 0
var digits = [Int](repeating: 0, count: 10);

Truy cập các phần tử trong Mảng

Có một biến mảng các số nguyên như sau:

var numberArray = [1,3,5,7,9]

Để kiểm tra mảng đó rỗng hay không dùng thuộc tính isEmpty ,như numberArray.isEmpty trả về false.

if numberArray.isEmpty {
    print("Mảng rỗng")
}

Để kiểm tra mảng có bao nhiêu phần tử dùng thuộc tính count, như numberArray.count trả về 5

Mỗi phần tử trong mảng có chỉ số, phần tử đầu tiên chỉ số là 0, cho đến phần tử cuối là count-1, để lấy giá trị phần tử có chỉ số i dùng ký hiệu truy cập mảng [i]

print(numberArray[3]); //7

Thuộc tính firstlast để truy cập nhanh đến phần tử đầu tiên và cuối cùng của mảng (nếu mảng ỗng thì hai giá trị này là nil), ví dụ print(numberArray.last)

Duyệt qua từng phần tử mảng với vòng lặp for .. in

for i in myNumbersp {
    print(i)
}

Khi duyệt qua các phần tử mảng, muốn vừa lấy được giá trị phần tử, cùng với chỉ số index của phần tử đó dùng cú pháp duyệt qua đối tượng sinh ra từ enumerated()

for (index, value) in myNumbers.enumerated() {
    print("Chỉ số \(index) có giá trị \(value)")
}
//Chỉ số 0 có giá trị 1
//Chỉ số 1 có giá trị 2
//Chỉ số 2 có giá trị 3

Cập nhật Mảng

Như phần trên, một phần tử mảng khi bạn biết chỉ số của nó thì bạn có thể lấy giá trị hoặc gán giá trị vào phần tử đố thông qua ký hiệu truy cập mảng []

Nếu muốn nối vào đuôi mảng một phần tử nữa thì dùng phương thức append(value)

Nếu muốn nối vào đuôi mảng một mảng khác cùng kiểu sử dụng toán tử +=

Nếu muốn chèn một phần tử ở vị trí index dùng phương thức insert(value, at:index)

Nếu muốn xóa bó khỏi mảng phần tử ở vị trí index dùng phương thức remove(at:index)

Nếu muốn xóa phần tử cuối của mảng dùng removeLast()

var products = [String]();
products.append("iPhone")
print(products)                     //["iPhone"]

products += ["iPad", "Samsung"]
print(products)                     //["iPhone", "iPad", "Samsung"]

products[0] = "Android"
print(products)                     //["Android", "iPad", "Samsung"]

products.insert("Nokia", at:1)
print(products);                    //["Android", "Nokia", "iPad", "Samsung"]

products.remove(at:2);
print(products)                     //["Android", "Nokia", "Samsung"]

products.removeLast();
print(products)                     //["Android", "Nokia"]
Đăng ký theo dõi ủng hộ kênh