0Pricing
Swift Academy · Leçon

filter et prédicats

Sélectionnez les éléments qui satisfont une condition.

filter et prédicats est une leçon Swift Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Swift Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Swift Academy comprend 4 leçons au total.

Qu’est-ce que filter ?

filter ne conserve que les éléments pour lesquels une fermeture (un prédicat) renvoie true.

  • La fermeture renvoie un Bool
  • Le type des éléments reste identique
  • Le résultat est un nouveau tableau, potentiellement plus petit

Un filter simple

Ne conserver que les nombres pairs :

let numbers = [1, 2, 3, 4, 5, 6]
let evens = numbers.filter { $0 % 2 == 0 }
print(evens)  // [2, 4, 6]

Filtrer des chaînes de caractères

Ne conserver que les mots de plus de trois caractères :

let words = ["hi", "swift", "go", "filter"]
let long = words.filter { $0.count > 3 }
print(long)  // ["swift", "filter"]

Qu’est-ce qu’un prédicat ?

Un prédicat est simplement une fonction qui prend une valeur et renvoie un Bool. filter appelle votre prédicat une fois par élément et conserve la valeur lorsque le prédicat vaut true.

Nommer un prédicat

Les prédicats peuvent être enregistrés et réutilisés pour améliorer la lisibilité :

let isPositive: (Int) -> Bool = { $0 > 0 }
let data = [-2, 5, -1, 8]
print(data.filter(isPositive))  // [5, 8]

Combiner des conditions

Utilisez des opérateurs booléens dans le prédicat :

let nums = [1, 2, 3, 4, 5, 6, 7, 8]
let picked = nums.filter { $0 % 2 == 0 && $0 > 4 }
print(picked)  // [6, 8]

Filtrer des structures

Filtrez une collection d’objets de modèle selon une propriété :

struct Product { let name: String; let price: Int }
let items = [Product(name: "Pen", price: 2), Product(name: "Bag", price: 40)]
let cheap = items.filter { $0.price < 10 }
print(cheap.map { $0.name })  // ["Pen"]

filter et map

Ils répondent à des questions différentes : filter choisit les éléments qui restent ; map modifie chaque élément. Les types de résultats diffèrent :

let n = [1, 2, 3, 4]
print(n.filter { $0 > 2 })  // [3, 4]  (subset, same type)
print(n.map { $0 > 2 })     // [false, false, true, true]

Enchaîner filter et map

Filtrez d’abord pour réduire le travail, puis transformez les éléments :

let nums = [1, 2, 3, 4, 5, 6]
let result = nums
    .filter { $0 % 2 == 0 }
    .map { $0 * $0 }
print(result)  // [4, 16, 36]

Compter sans conserver

Si vous avez seulement besoin d’un compte, filter(...).count fonctionne, mais count(where:) évite de construire un tableau :

let votes = [true, false, true, true]
let yes = votes.filter { $0 }.count
print(yes)  // 3

Filtrer un dictionnaire

Appliqué à un dictionnaire, filter produit un dictionnaire contenant les paires clé/valeur correspondantes :

let ages = ["Ann": 30, "Bo": 17, "Cy": 22]
let adults = ages.filter { $0.value >= 18 }
print(adults.keys.sorted())  // ["Ann", "Cy"]

Vérification rapide

Que doit renvoyer un prédicat de filter ?

Récapitulatif

Vous avez appris à filtrer :

  • filter conserve les éléments pour lesquels le prédicat vaut true
  • Un prédicat est toute fonction qui transforme une valeur en Bool
  • Le type des éléments est conservé ; le tableau peut rétrécir
  • Combinez les conditions avec && / || et enchaînez avec map

Ensuite : reduce.

Questions Fréquemment Posées

La leçon « filter et prédicats » est-elle gratuite ?

Oui — le texte complet de « filter et prédicats » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Swift Academy, passe à CoddyKit PRO. Le cours Swift Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « filter et prédicats » ?

Sélectionnez les éléments qui satisfont une condition. Tu pratiques Swift Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Swift Academy ?

Aucune expérience préalable n'est requise. Swift Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.

Combien de temps prend la leçon « filter et prédicats » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Swift Academy ?

Oui. Chaque leçon Swift Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. map et compactMap
  2. filter et prédicats
  3. reduce et reduce(into:)
  4. flatMap et chaînage
← Retour à Swift Academy