El Método Contains
Parte de la sección Fundamentos del Journey de Swift de Coddy — lección 76 de 86.
Al trabajar con arrays, a menudo necesitas comprobar si un valor específico existe antes de realizar una acción. Swift proporciona el método contains() exactamente para este propósito: devuelve true si se encuentra 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 a través del array manualmente. El método funciona con cualquier tipo de array, ya sea que contenga cadenas, números u otros valores:
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // verdadero
print(numbers.contains(99)) // falsoUn caso de uso común es validar la entrada del usuario contra 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álidaEl método contains() también funciona con cadenas para comprobar si una subcadena existe dentro de una cadena más grande:
let message = "Hello, Swift!"
print(message.contains("Swift")) // verdaderoDesafío
FácilRecibirás dos líneas de entrada:
- Una lista de nombres de usuario permitidos separados por comas (por ejemplo,
admin,user,guest,moderator) - Un nombre de usuario para verificar
Comprueba si el nombre de usuario existe en la lista permitida. Si existe, imprime Access granted. Si no existe, imprime Access denied.
Pasos:
- Lee la lista separada por comas y divídela en un array de cadenas
- Lee el nombre de usuario para verificar
- Usa el método
contains()para determinar si el nombre de usuario está en la lista permitida - Imprime el mensaje apropiado basado en el resultado
Sugerencia: Usa components(separatedBy:) para dividir una cadena en un array. Por ejemplo:
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Hoja de referencia
El método contains() comprueba si un valor específico existe en un array, devolviendo true si lo encuentra y false en caso contrario:
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// We have bananas!Funciona con cualquier tipo de array:
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // true
print(numbers.contains(99)) // falseCaso de uso común para validar entradas:
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Valid choiceEl método contains() también funciona con cadenas de texto para buscar subcadenas:
let message = "Hello, Swift!"
print(message.contains("Swift")) // truePara dividir una cadena en un array, utiliza components(separatedBy:):
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 verificar
let username = readLine()!
// TODO: Escribe tu código a continuación
// 1. Divide allowedList en un array usando components(separatedBy:)
// 2. Usa contains() para verificar si username está en el array
// 3. Imprime "Access granted" o "Access denied" según el resultadoEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 1
Operadores aritméticosOperador de móduloAsignación compuestaResumen - Matemáticas simplesOperadores de comparación7E/S Básica
Función PrintInterpolación de StringsEntrada ReadLineConversión de TiposRepaso - Hasta 120Repaso - Verdadero o Falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosResumen - Función SigmaResumen - Función de validaciónValores por defecto13Iterar sobre secuencias
Iterar sobre elementosEl método enumerateIterar sobre cadenas P1Iterar sobre cadenas P22Variables
Let vs VarAnotaciones de tiposNúmerosStringsBooleanosConvenciones de nomenclaturaResumen - Inicializar variables5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operador ternario8Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada de datos11FizzBuzz con un giro
Descripción general del juegoLa función FizzBuzz14Arrays Avanzados
Slicing de Arrays Parte 1Slicing de Arrays Parte 2Operadores de SecuenciaEl Método Contains3Opcionales
Qué son los opcionalesDesempaquetado con If LetGuard LetOperador de coalescencia nulaResumen - Desempaquetado seguro6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámica