Lavorare con gli array in JavaScript è un'operazione che spesso si può riassumere con la frase "è una faticaccia". Il motivo spesso è da ricercarsi nella mancanza di funzionalità per la manipolazione degli stessi all'interno di ES (EcmaScript). A questo proposito esistono varie librerie come Lodash e Underscore.js che implementano le principali e più comuni operazioni. Tuttavia, con l'evoluzione del linguaggio molte di queste operazioni possono essere svolte senza nessun aiuto esterno, vediamone qualche esempio.
Per creare un array di N elementi spesso si ricorre all'utilizzo di un ciclo che consente di inserire una data quantità di elementi. Per raggiungere lo stesso scopo possiamo utilizzare i metodi fill e from
// Creo un array con 3 '0' // [0,0,0] Array(3).fill(0) Array.from(Array(3),()=>0) // utilizzo l'index per creare un array con numeri crescenti // [1,2,3] Array.from(Array(3),(_,index)=>index) // array con numeri casuali Array.from(Array(3),Math.random)
Prendendo come riferimento l'ultimo array, se volessimo avere il penultimo elemento dovremmo usare la lunghezza dell'array e da questa togliere 2. Usando il metodo at, possiamo arrivare allo stesso risultato utilizzando un indice negativo.
console.log(array[array.length -2]) console.log(array.at(-2))
Nel momento in cui poi andiamo a modificare un elemento della lista, inserendo in questo caso un numero con molte cifre, possiamo utilizzare il carattere _ come separatore visivo, che a livello di codice non è interpretato, rendendo lo stesso molto più leggibile.
array[2]= 10000000; array[2]= 10_000_000;
Durante la creazione di un array con numeri casuali può capitare di trovare dei doppioni. Per eliminarli si potrebbe creare un doppio loop sull'array: per ogni elemento scorre la lista alla ricerca di uno simile, seppur funzionale possiamo far uso dell'oggetto Set.
let array = [1, 2, 1]; let array1 = new Set(array); // [1,2]
A volte abbiamo la necessità di convertire un array in un oggetto o viceversa. Le operazioni richiedono l'utilizzo di un ciclo che iterando su ogni elemento o proprietà, converte la tipologia di oggetto. Entrambe le operazioni possono essere scritte in una sola riga.
// da array ad oggetto
let arr = [1, 2, 3];
let arrObject = {};
for (let i = 0; i < arr.length; ++i) {
arrObject<i> = arr<i>;
}
let arrObject = {...arr};
// {0:1,1:2,2:3}
// da oggetto ad array
let number = {
one: 1,
two: 2,
};
let keys = [];
for (let numbers in numbers) {
if (number.hasOwnProperty(number)) {
keys.push(number);
}
}
// [ 'one', 'two' ]
let key = Object.keys(number); // key = [ 'one', 'two' ]
let value = Object.values(number); // value = [ 1, 2 ]
let entry = Object.entries(number); // entry = [['one' : 1], ['two' : 2]]Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Managed deployment strategy in Azure DevOps
Esporre un server MCP esistente con Azure API Management
Configurare OpenAI in .NET Aspire
Integrazione di Copilot in .NET Aspire
Gestire progetti .NET + React in .NET Aspire
.NET Aspire per applicazioni distribuite
Definire il colore di una scrollbar HTML tramite CSS
Definire il metodo di rilascio in .NET Aspire
Anonimizzare i dati sensibili nei log di Azure Front Door
Gestire codice JavaScript con code splitting e lazy loading
Proteggere l'endpoint dell'agente A2A delle Logic App
Implementare il throttle in JavaScript


