Menu
Coddy logo textTech

El método Contains

Parte de la sección Fundamentos del Journey de Swift de Coddy. Lección 76 de 86.

Cuando trabajas con arrays, a menudo necesitas comprobar si existe un valor específico antes de realizar una acción. Swift proporciona el método contains() precisamente para este propósito. Devuelve true si se ha encontrado el elemento, y false en caso contrario.

let fruits = ["apple", "banana", "orange"]

if fruits.contains("banana") {
    print("We have bananas!")
}
// ¡Tenemos bananas!

Esto es mucho más limpio que escribir un bucle para buscar manualmente en el arreglo. El método funciona con cualquier tipo de arreglo, ya sea que contenga cadenas, números u otros valores:

let numbers = [10, 20, 30, 40, 50]

print(numbers.contains(30))  // true
print(numbers.contains(99))  // false

Un caso de uso común es validar la entrada del usuario con respecto a una lista de valores permitidos:

let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"

if validOptions.contains(userInput) {
    print("Valid choice")
} else {
    print("Invalid choice")
}
// Opción válida

El método contains() también funciona con cadenas para comprobar si existe una subcadena dentro de una cadena más grande:

let message = "Hello, Swift!"
print(message.contains("Swift"))  // true
challenge icon

Desafío

Fácil

Recibirás dos líneas de entrada:

  1. Una lista de nombres de usuario permitidos separados por comas (por ejemplo, admin,user,guest,moderator)
  2. Un nombre de usuario que se debe comprobar

Comprueba si el nombre de usuario existe en la lista de permitidos. Si existe, imprime Access granted. Si no existe, imprime Access denied.

Pasos:

  1. Lee la lista separada por comas y divídela en un array de cadenas
  2. Lee el nombre de usuario que se debe comprobar
  3. Usa el método contains() para determinar si el nombre de usuario está en la lista de permitidos
  4. Imprime el mensaje correspondiente según el resultado

Pista: Usa components(separatedBy:) para dividir una cadena en un array. Por ejemplo:

let text = "a,b,c"
let parts = text.components(separatedBy: ",")

Pruébalo tú mismo

// Lee la lista de nombres de usuario permitidos separados por comas
let allowedList = readLine()!

// Lee el nombre de usuario a comprobar
let username = readLine()!

// TODO: Escribe tu código debajo
// 1. Divide allowedList en un array usando components(separatedBy:)
// 2. Usa contains() para comprobar si username está en el array
// 3. Print "Access granted" or "Access denied" based on the result
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Swift