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: ",")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 ProgramaPratique por conta própria: Playground de Swift