Implementa le operazioni di base sugli array.
Nei linguaggi funzionali, le operazioni sugli array come length, map e reduce sono molto comuni.
Implementa una serie di operazioni di base sugli array, senza usare le funzioni esistenti.
Il numero preciso e i nomi delle operazioni da implementare dipenderà dal track, per evitare conflitti con i nomi già esistenti, ma le operazioni generali che implementerai includono:
append (dati due array, aggiungi tutti gli elementi del secondo array alla fine del primo array);concatenate (data una serie di array, combina tutti gli elementi di tutti gli array in un unico array appiattito);filter (dati un predicato e un array, restituisci l'array di tutti gli elementi per cui predicate(item) è True);length (dato un array, restituisci il numero totale di elementi che contiene);map (date una funzione e un array, restituisci l'array dei risultati dell'applicazione di function(item) a tutti gli elementi);foldl (date una funzione, un array e un accumulatore iniziale, piega (riduci) ogni elemento nell'accumulatore da sinistra);foldr (date una funzione, un array e un accumulatore iniziale, piega (riduci) ogni elemento nell'accumulatore da destra);reverse (dato un array, restituisci un array con tutti gli elementi originali, ma in ordine inverso).Nota: l'ordine in cui gli argomenti vengono passati alle funzioni fold (foldl, foldr) è significativo.
Puoi usare le funzionalità principali del linguaggio per costruire e decostruire gli array tramite la destrutturazione, e puoi usare il letterale di array [], ma non devi usare nessuna funzione di Array.prototype.
Per poter testare la soluzione, assicurati che forEach sia implementato.
const list = List.create(1, 2)
list.forEach((item) => console.log(item))
// =>
// 1
// 2
Iscriviti a Exercism per imparare e padroneggiare TypeScript con 108 esercizi e il mentoring di persone reali, tutto gratis.
Goditi un'introduzione pratica alla ricorsione, esplora le alternative imperative e funzionali a Operazioni su array e approfondisci la ricorsione in coda e le funzioni di accumulo.