Metodi degli array
Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 65 di 86.
Oltre ad aggiungere e rimuovere elementi, gli array di Swift offrono diversi metodi utili che rendono più semplice lavorare con le raccolte.
La proprietà isEmpty verifica se un array contiene elementi:
var tasks = [String]()
print(tasks.isEmpty) // true
tasks.append("Buy groceries")
print(tasks.isEmpty) // falsePer rimuovere tutti gli elementi in una volta, usa removeAll():
var numbers = [1, 2, 3, 4, 5]
numbers.removeAll()
print(numbers) // []Il metodo reversed() restituisce gli elementi in ordine inverso:
let letters = ["A", "B", "C"]
print(Array(letters.reversed())) // ["C", "B", "A"]Per ordinare, usa sorted() per ottenere un nuovo array ordinato, oppure sort() per ordinare l’array sul posto:
let scores = [85, 42, 97, 63]
print(scores.sorted()) // [42, 63, 85, 97]
var prices = [9.99, 2.50, 5.75]
prices.sort()
print(prices) // [2.5, 5.75, 9.99]Nota che sorted() restituisce un nuovo array lasciando invariato l'originale, mentre sort() modifica direttamente l'array originale.
Sfida
FacileScrivi una funzione processScores che accetta scores e restituisce una stringa formattata con informazioni sui punteggi.
La funzione dovrebbe analizzare l’array e creare una stringa risultato con tre informazioni.
Logica:
- Verifica se l’array è vuoto usando
isEmpty - Se è vuoto, restituisci
"No scores" - Altrimenti, ottieni i punteggi ordinati (in ordine crescente) e i punteggi invertiti
- Restituisci una stringa che combina entrambi i risultati
Parametri:
scores([Int]): un array di punteggi interi
Valore restituito: una stringa nel formato: "Sorted: [sorted_array], Reversed: [reversed_array]" oppure "No scores" se l’array è vuoto (String)
Esempio: se scores è [85, 42, 97, 63], la funzione dovrebbe restituire:
"Sorted: [42, 63, 85, 97], Reversed: [63, 97, 42, 85]"Nota: l’array invertito dovrebbe essere l’inverso dell’array originale, non di quello ordinato.
Provalo tu
func processScores(scores: [Int]) -> String {
// Scrivi il codice qui
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori – Parte 1
Operatori aritmeticiOperatore moduloAssegnazione compostaRiepilogo - Matematica sempliceOperatori di confronto7I/O di base
Funzione printInterpolazione di stringheInput con ReadLineConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso10Funzioni
Dichiarare una funzioneParametri e argomentiValori restituitiEtichette degli argomentiRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefiniti13Iterare sulle sequenze
Iterare sugli elementiIl metodo enumerateIterare sulle stringhe P1Iterare sulle stringhe P22Variabili
Let vs VarAnnotazioni di tipoNumeriStringaBooleanoConvenzioni di denominazioneRiepilogo - Inizializzare le variabili5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatore ternario8Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati11FizzBuzz con una variante
Panoramica del giocoLa funzione FizzBuzz3Valori opzionali
Cosa sono i valori opzionaliEstrazione del valore con if letGuard letOperatore di coalescenza nilRiepilogo - Estrazione sicura del valore6Decisioni
Istruzione ifIf - ElseRipasso - Calcolatrice sempliceIstruzione switchSwitch con intervalli9Cicli
Ciclo for-inCiclo whileCiclo repeat-whileBreakContinueRipasso - FattorialeIntervalli nei cicliCiclo annidatoRipasso - Input dinamico12Fondamenti degli array
Dichiarare un arrayAccedere agli elementiModificare gli arrayMetodi degli arrayRiepilogo - lista dei prodottiRiepilogo - array invertitoTupleEsercitati da solo: Playground Swift