Menu
Coddy logo textTech

Il metodo enumerate

Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 70 di 86.

A volte, quando iteri su un array, devi conoscere non solo l’elemento, ma anche la sua posizione. Anche se potresti tenere traccia manualmente dell’indice con una variabile contatore, Swift offre una soluzione più semplice: il metodo enumerated().

Quando chiami enumerated() su un array, restituisce una sequenza di tuple, dove ogni tupla contiene l'indice e l'elemento:

let colors = ["Red", "Green", "Blue"]

for (index, color) in colors.enumerated() {
    print("\(index): \(color)")
}
// 0: Red
// 1: Green
// 2: Blue

Nota come scomponiamo ogni tupla direttamente nel ciclo usando (index, color). Questo ci dà accesso a entrambi i valori senza codice aggiuntivo.

Questo è particolarmente utile quando devi visualizzare elenchi numerati o eseguire operazioni che dipendono dalla posizione di un elemento:

let tasks = ["Wake up", "Exercise", "Eat breakfast"]

for (index, task) in tasks.enumerated() {
    print("Task \(index + 1): \(task)")
}
// Attività 1: Svegliati
// Attività 2: Fai esercizio
// Attività 3: Fai colazione

Il metodo enumerated() mantiene il codice pulito e leggibile rispetto alla gestione manuale di una variabile contatore separata.

challenge icon

Sfida

Facile
Scrivi una funzione formatWithPositions che accetti items e restituisca una stringa formattata che mostri ogni elemento con il relativo numero di posizione.

Usa il metodo enumerated() per scorrere l'array e creare una stringa in cui ogni elemento è preceduto dal numero della sua posizione, a partire da 1.

Logica:

  1. Scorri l'array usando enumerated()
  2. Per ogni elemento, crea una stringa nel formato "position. item" (usando una numerazione a partire da 1)
  3. Unisci tutte le stringhe formattate con un carattere di nuova riga (\n)

Parametri:

  • items ([String]): un array di stringhe da formattare

Valore restituito: una singola stringa con ogni elemento su una riga separata, preceduto dal numero della sua posizione (String). Formato: "1. item1\n2. item2\n3. item3"

Esempio: se items è ["Apple", "Banana", "Cherry"], la funzione dovrebbe restituire:

"1. Apple\n2. Banana\n3. Cherry"

Nota: se l'array è vuoto, restituisci una stringa vuota "".

Provalo tu

func formatWithPositions(items: [String]) -> String {
    // Scrivi il codice qui
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Swift