×

Kiểm tra xem mảng có chứa phần tử không với contains() trong Swift

Trong lập trình Swift, việc kiểm tra xem một mảng có chứa một phần tử cụ thể hay không là một thao tác phổ biến. Để thực hiện điều này, Swift cung cấp một phương thức rất tiện dụng gọi là contains().

Phương thức contains() là một phần của giao thức Sequence trong Swift và được thiết kế để kiểm tra sự hiện diện của một phần tử cụ thể trong một mảng. Cùng đi vào chi tiết cách sử dụng phương thức này.

Cách Sử Dụng contains() với Mảng

Để sử dụng contains(), bạn chỉ cần gọi phương thức này trên mảng cần kiểm tra và truyền vào phần tử bạn muốn tìm. Nếu phần tử đó tồn tại trong mảng, contains() sẽ trả về true, ngược lại sẽ trả về false.

Ví dụ Cơ Bản

Dưới đây là một ví dụ cơ bản về cách kiểm tra một mảng số nguyên:

let numbers = [1, 2, 3, 4, 5]

if numbers.contains(3) {
    print("Mảng chứa số 3")
} else {
    print("Mảng không chứa số 3")
}

Kết quả in ra sẽ là "Mảng chứa số 3" vì số 3 có mặt trong mảng.

Kiểm Tra Với Các Kiểu Dữ Liệu Khác Nhau

Với Chuỗi

Phương thức contains() cũng hoạt động tốt với mảng chuỗi:

let fruits = ["Táo", "Cam", "Chuối"]

if fruits.contains("Cam") {
    print("Mảng chứa từ 'Cam'")
} else {
    print("Mảng không chứa từ 'Cam'")
}

Kết quả sẽ là "Mảng chứa từ 'Cam'".

Với Đối Tượng Tuỳ Chỉnh

Nếu bạn có một mảng các đối tượng tùy chỉnh, bạn cần đảm bảo đối tượng đó tuân theo giao thức Equatable để sử dụng được contains().

Ví dụ với một cấu trúc tự định nghĩa:

struct Person: Equatable {
    let name: String
    let age: Int
}

let people = [Person(name: "John", age: 25), Person(name: "Anna", age: 30)]

if people.contains(Person(name: "John", age: 25)) {
    print("Mảng chứa John")
} else {
    print("Mảng không chứa John")
}

Kết quả sẽ là "Mảng chứa John".

Kiểm Tra Với Điều Kiện Tuỳ Chỉnh

Đôi khi cách kiểm tra đơn giản không đáp ứng đủ yêu cầu vì bạn muốn tìm kiếm theo một điều kiện cụ thể. Trong trường hợp này, phương thức contains(where:) sẽ rất hữu ích.

Ví dụ:

let people = [Person(name: "John", age: 25), Person(name: "Anna", age: 30)]

if people.contains(where: { $0.age > 20 }) {
    print("Có người trong mảng lớn hơn 20 tuổi")
} else {
    print("Không có người nào trong mảng lớn hơn 20 tuổi")
}

Kết quả sẽ là "Có người trong mảng lớn hơn 20 tuổi".

Tổng Kết

Phương thức contains() là một công cụ mạnh mẽ và rất dễ sử dụng trong Swift để kiểm tra sự hiện diện của các phần tử trong mảng. Từ các kiểu dữ liệu cơ bản như số nguyên và chuỗi cho đến các đối tượng tùy chỉnh, contains() giúp lập trình viên dễ dàng và nhanh chóng thực hiện các kiểm tra cần thiết, góp phần viết nên những đoạn mã nguồn rõ ràng và hiệu quả hơn.

Comments