venerdì 27 settembre 2024

Typescript sort object array by date property Angular

Nel caso che si sta sviluppando un applicativo che fa uso del linguaggio TypeScript, ed abbiamo la necessità di ordinare un array di un oggetto con la proprietà di tipo Date, tramite il metodo sort e comparando gli elementi possiamo ordinare i vari elementi.

Di seguito il frammento di codice

TypeScript:
Classe:
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;

}

}

Ordinamento:
ngOnInit(): void {

    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')));


    //Crescente
    this.nominativi = this.nominativi.sort((a,b)=>{
return new Date( a.Eta ).getTime()
- new Date( b.Eta ).getTime()});
    for (let index = 0; index <  
this.nominativi.length; index++) {
      console.log(  this.nominativi[index]);

    }
    //Decrescente
    this.nominativi = this.nominativi.sort((a,b)=>{
return new Date( b.Eta ).getTime()
- new Date( a.Eta ).getTime()});
    for (let index = 0; index <  this.nominativi.length;
index++) {
      console.log(  this.nominativi[index]);

    }

  }






Nessun commento: