Sorterer array af objekter efter værdien af stringeegenskaber
Jeg har et array af JavaScript-objekter:
var objs = [
{ first_nom: 'Lazslo', last_nom: 'Jamf' },
{ first_nom: 'Pig', last_nom: 'Bodine' },
{ first_nom: 'Pirate', last_nom: 'Prentice' }
];
Hvordan kan jeg sortere dem efter værdien af last_nom
i JavaScript?
Jeg kender til sort(a,b)
, men det virker tilsyneladende kun på strenge og tal. Er jeg nødt til at tilføje en toString()
-metode til mine objekter?
2511
3
Det er nemt nok at skrive din egen sammenligningsfunktion:
Eller inline (c/o Marco Demaio):
Hvis du har dobbelte efternavne, kan du sortere dem efter fornavn -
I stedet for at bruge en brugerdefineret sammenligningsfunktion kan du også oprette en objekttype med en brugerdefineret
toString()
-metode (som påkaldes af standard sammenligningsfunktionen):