Nello script #252 abbiamo visto come sia semplice estendere una classe JavaScript esistente utilizzando TypeScript. In quello script abbiamo aggiunto alla classe Array il metodo Distinct, mentre in questo script aggiungeremo il metodo SelectMany molto utilizzato nelle applicazioni .NET quando si manipolano gli array. Vediamo prima il codice.
declare global { interface Array<T> { selectMany<K>(callbackfn: (value: T, index: number, array: T[]) => K[], thisArg?: any): K[]; } } Array.prototype.selectMany = function (fn) { return this.map(fn).reduce(function (x, y) { return x.concat(y); }, []); };
La prima parte del codice rende il metodo SelectMany visibile a TypeScript, la seconda parte definisce il metodo nel prototype della classe Array. Il codice del metodo selectMany accetta in input una funzione che specifica quale proprietà dell'array originale vogliamo appiattire. Questa funzione viene passata al metodo map che torna un array con gli oggetti desiderati. Succesivamente il metodo reduce appiattisce l'array concatenando tra loro gli oggetti.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione degli eventi nei Web component HTML
Configurare automaticamente un webhook in Azure DevOps
Gestire i dati con Azure Cosmos DB Data Explorer
Introduzione ai web component HTML
Fornire parametri ad un Web component HTML
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Eseguire script pre e post esecuzione di un workflow di GitHub
Fissare una versione dell'agent nelle pipeline di Azure DevOps
.NET Aspire per applicazioni distribuite
Utilizzare DeepSeek R1 con Azure AI
Testare il failover sulle region in Azure Storage
Supportare la sessione affinity di Azure App Service con Application Gateway
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- Tutorial LINQ
- Gestione ciclo di vita in .NET Aspire