Slicing degli array Parte 1
Fa parte della sezione Fondamenti del percorso Swift di Coddy. Lezione 73 di 86.
A volte non ti serve un intero array, ma solo una sua parte. Swift rende facile estrarre un sottoinsieme di elementi usando lo slicing di array con gli operatori di intervallo.
Per ottenere una slice, usa un intervallo tra parentesi quadre di indicizzazione. L’approccio più comune usa l’operatore di intervallo semiaperto (..<), che include l’indice iniziale ma esclude l’indice finale:
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice) // [20, 30, 40]Qui, 1..<4 ci dà gli elementi agli indici 1, 2 e 3, ma non all'indice 4. È utile quando sai esattamente dove vuoi fermarti.
Se vuoi includere l'indice finale, usa l'operatore di intervallo chiuso (...):
let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice) // ["b", "c", "d"]Un dettaglio importante: il risultato dello slicing è un ArraySlice, non un normale Array. Se ti serve un vero array, racchiudilo in Array():
let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced) // [1, 2, 3]Sfida
FacileScrivi una funzione getMiddleElements che accetta numbers, start ed end e restituisce una porzione dell’array dall’indice iniziale fino all’indice finale (escluso).
Usa l’operatore di intervallo semiaperto (..<) per estrarre la porzione specificata dell’array e restituirla come array normale.
Parametri:
numbers([Int]): L’array da suddividerestart(Int): L’indice iniziale (incluso)end(Int): L’indice finale (escluso)
Restituisce: Un array contenente gli elementi dall’indice iniziale fino all’indice finale (escluso) ([Int])
Esempio: Se numbers è [10, 20, 30, 40, 50, 60], start è 1 ed end è 4, la funzione dovrebbe restituire [20, 30, 40].
Provalo tu
func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
// Write code here
}
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 FizzBuzz14Array avanzati
Slicing degli array Parte 1Slicing degli array Parte 2Operatori di sequenzaIl metodo contains3Valori 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 dinamicoEsercitati da solo: Playground Swift