Il frammento di codice qui di seguito, illustra una tecnica per cambiare l'ordinamento delle colonne in un array di un oggetto, il tutto nel linguaggio di programmazione TypeScript.
Supponiamo di avere una classe con tre proprietà e vorremmo cambiare l'ordine di queste colonne per una visualizzazione secondo il nostro interesse, il frammento di codice illustra questa tecnica.
Di seguito l'esempio.
Classe
TypeScript:
export class Nominativo {
public Nome: string;
public Cognome: string='';
public Eta: Date;
constructor(nome: string, cognome: string, eta: Date){
this.Nome = nome;
this.Cognome = cognome;
this.Eta = eta;
}
Funzione per cambiare l'ordinamento.
TypeScript:
// Funzione
per riorganizzare le colonne di un oggetto
riorganizzaColonne(obj: any, nuovoOrdine: string[]): any {
let nuovoObj: { [key: string]: any } = {};
nuovoOrdine.forEach(chiave => {
if (obj.hasOwnProperty(chiave)) {
nuovoObj[chiave] = obj[chiave];
}
});
return nuovoObj;
}
Valorizzazione dell'array e cambio ordinamento.
TypeScript:
this.nominativi.push(new Nominativo('Emanuele', 'Mattei', new Date('12/12/1974')));
this.nominativi.push(new Nominativo('Luigi', 'Cristaldi', new Date('12/12/1984')));
this.nominativi.push(new Nominativo('Luca', 'Rossi', new Date('12/12/1954')));
this.nominativi.push(new Nominativo('Max', 'Bianchi', new Date('12/12/1994')));
console.log(this.nominativi)
let nomiColonne: string[] = ['Eta', 'Nome', 'Cognome'];
let nuovoNominativi = this.nominativi.map(obj => this.riorganizzaColonne(obj, nomiColonne));
console.log(nuovoNominativi);