O Método Contains
Parte da seção Fundamentos do Journey de Swift da Coddy — lição 76 de 86.
Ao trabalhar com arrays, você frequentemente precisa verificar se um valor específico existe antes de realizar uma ação. O Swift fornece o método contains() para exatamente este propósito — ele retorna true se o elemento for encontrado, e false caso contrário.
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// Temos bananas!Isso é muito mais limpo do que escrever um loop para pesquisar no array manualmente. O método funciona com qualquer tipo de array, quer ele contenha strings, números ou outros valores:
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // true
print(numbers.contains(99)) // falseUm caso de uso comum é validar a entrada do usuário em relação a uma lista de valores permitidos:
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Escolha válidaO método contains() também funciona com strings para verificar se uma substring existe dentro de uma string maior:
let message = "Hello, Swift!"
print(message.contains("Swift")) // trueDesafio
FácilVocê receberá duas linhas de entrada:
- Uma lista de nomes de usuário permitidos separada por vírgulas (ex:
admin,user,guest,moderator) - Um nome de usuário para verificar
Verifique se o nome de usuário existe na lista permitida. Se existir, imprima Access granted. Caso contrário, imprima Access denied.
Passos:
- Leia a lista separada por vírgulas e divida-a em um array de strings
- Leia o nome de usuário para verificar
- Use o método
contains()para determinar se o nome de usuário está na lista permitida - Imprima a mensagem apropriada com base no resultado
Dica: Use components(separatedBy:) para dividir uma string em um array. Por exemplo:
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Folha de consulta
O método contains() verifica se um valor específico existe em um array, retornando true se encontrado e false caso contrário:
let fruits = ["apple", "banana", "orange"]
if fruits.contains("banana") {
print("We have bananas!")
}
// Temos bananas!Ele funciona com qualquer tipo de array:
let numbers = [10, 20, 30, 40, 50]
print(numbers.contains(30)) // true
print(numbers.contains(99)) // falseCaso de uso comum para validar entrada:
let validOptions = ["yes", "no", "maybe"]
let userInput = "yes"
if validOptions.contains(userInput) {
print("Valid choice")
} else {
print("Invalid choice")
}
// Escolha válidaO método contains() também funciona com strings para verificar substrings:
let message = "Hello, Swift!"
print(message.contains("Swift")) // truePara dividir uma string em um array, use components(separatedBy:):
let text = "a,b,c"
let parts = text.components(separatedBy: ",")Experimente você mesmo
// Leia a lista de nomes de usuário permitidos separada por vírgulas
let allowedList = readLine()!
// Leia o nome de usuário para verificar
let username = readLine()!
// TODO: Escreva seu código abaixo
// 1. Divida a allowedList em um array usando components(separatedBy:)
// 2. Use contains() para verificar se o username está no array
// 3. Imprima "Access granted" ou "Access denied" com base no resultadoEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Operadores Parte 1
Operadores AritméticosOperador de MóduloAtribuição CompostaRecapitulação - Matemática SimplesOperadores de Comparação7IO Básico
Função PrintInterpolação de StringsEntrada ReadLineConversão de TiposRecapitulação - Até 120Recapitulação - Verdadeiro ou Falso10Funções
Declarar uma FunçãoParâmetros e ArgumentosValores de RetornoRótulos de ArgumentosRecapitulação - Função SigmaRecapitulação - Função de ValidaçãoValores Padrão13Iterando sobre Sequências
Iterando sobre ElementosO Método EnumeratedIterando sobre Strings P1Iterando sobre Strings P22Variáveis
Let vs VarAnotações de TipoNúmerosStringBooleanosConvenções de NomenclaturaRecapitulação - Inicializar Variáveis5Operadores Parte 2
Operadores Lógicos Parte 1Operadores Lógicos Parte 2Recapitulação - Lógica SimplesOperadores Lógicos Parte 3Operador Ternário8Calculadora de Divisão de Conta
Mensagem de Boas-vindasObtendo Entrada11FizzBuzz com um Diferencial
Visão Geral do JogoA Função FizzBuzz14Arrays Avançados
Fatiamento de Arrays Parte 1Fatiamento de Arrays Parte 2Operadores de SequênciaO Método Contains3Opcionais
O que são OpcionaisDesembrulhando com If LetGuard LetOperador de Coalescência NulaRecapitulação - Desembrulho Seguro6Tomada de Decisão
Estrutura IfIf - ElseRecapitulação - Calculadora SimplesEstrutura SwitchSwitch com Intervalos9Loops
Loop For-InLoop WhileLoop Repeat-WhileBreakContinueRecapitulação - FatorialIntervalos em LoopsLoop AninhadoRecapitulação - Entrada Dinâmica12Fundamentos de Arrays
Declarando um ArrayAcessando ElementosModificando ArraysMétodos de ArrayRecapitulação - Lista de ProdutosRecapitulação - Array InvertidoTuplas15Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa