Menu
Coddy logo textTech

O Método Contains

Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 76 de 86.

Ao trabalhar com arrays, muitas vezes você precisa verificar se um valor específico existe antes de executar uma ação. Swift fornece o método contains() exatamente para essa finalidade. 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 manualmente na array. O método funciona com qualquer tipo de array, seja ela composta por strings, números ou outros valores:

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

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

Um 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álida

O 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"))  // true
challenge icon

Desafio

Fácil

Você receberá duas linhas de entrada:

  1. Uma lista de nomes de usuário permitidos separados por vírgulas (por exemplo, admin,user,guest,moderator)
  2. Um nome de usuário para verificar

Verifique se o nome de usuário existe na lista de permitidos. Se existir, imprima Access granted. Se não existir, imprima Access denied.

Etapas:

  1. Leia a lista separada por vírgulas e divida-a em um array de strings
  2. Leia o nome de usuário a ser verificado
  3. Use o método contains() para determinar se o nome de usuário está na lista de permitidos
  4. 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 separados por vírgula
let allowedList = readLine()!

// Leia o nome de usuário a verificar
let username = readLine()!

// TODO: Escreva seu código abaixo
// 1. Divida o allowedList em um array usando components(separatedBy:)
// 2. Use contains() para verificar se username está no array
// 3. Print "Access granted" or "Access denied" based on the result
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Swift