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)) // falseUn 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álidaEl 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")) // trueDesafí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 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:
- Lee la lista separada por comas y divídela en un array de cadenas
- Lee el nombre de usuario que se debe comprobar
- Usa el método
contains()para determinar si el nombre de usuario está en la lista de permitidos - 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 resultEsta 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 móduloAsignación compuestaRepaso: matemáticas simplesOperadores de comparación7Entrada/salida básica
Función printInterpolación de cadenasEntrada con ReadLineConversión de tiposRepaso: hasta 120Repaso: verdadero o falso10Funciones
Declarar una funciónParámetros y argumentosValores de retornoEtiquetas de argumentosRepaso: función SigmaRepaso: función de validaciónValores predeterminados13Iteración sobre secuencias
Iteración sobre elementosEl método enumeradoIteración sobre cadenas P1Iteración sobre cadenas P22Variables
Let vs VarAnotaciones de tipoNúmerosCadenaBooleanoConvenciones de nomenclaturaRepaso: 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 bienvenidaObtención de datos11FizzBuzz con un giro
Descripción del juegoLa función FizzBuzz14Arrays avanzados
Segmentación de arrays, parte 1Segmentación de arrays, parte 2Operadores de secuenciasEl método Contains3Opcionales
Qué son los opcionalesDesenvolver con If LetGuard LetOperador de coalescencia nilRepaso: desenvoltura segura6Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleSentencia SwitchSwitch con rangos9Bucles
Bucle For-InBucle WhileBucle Repeat-WhileBreakContinueRepaso - FactorialRangos en buclesBucle anidadoRepaso - Entrada dinámicaPractica por tu cuenta: Playground de Swift