Ich habe eine Reaktionskomponente, die Liste von "Meetings", die in der Vergangenheit aufgetreten sind.Reagieren, Sortieren nach Datum
Ich versuche, jedes vergangene Meeting zu sortieren, so dass diejenigen, die in der Vergangenheit aufgetreten sind, an der Spitze sein werden.
Ich überprüfe, ob das Treffen in der Vergangenheit aufgetreten ist, wenn ja, zeige es an. (Dies funktioniert gut)
Das ist meine Render-Methode:
render(){
let past_meetings = this.store.meetings.map((meeting, i) => {
if (meeting.scheduled_for < moment.utc(new Date()).format()){
return (<MeetingItem meeting={meeting} key={`meeting-${meeting.id}`} />)
} else {
return ;
}
})
return(
<div className="">
<div className="">
<h3 className="">Past Meetings</h3>
<div className="" >
{past_meetings}
</div>
</div>
</div>
)
}
Derzeit ist die Sitzungen wie gezeigt: Wenn es passiert ist weiter in der Vergangenheit zeigen, an der Spitze.
Mein Ziel ist es, es wie folgt zu zeigen: wenn es vor kurzem passiert ist, zeige es an der Spitze.
versucht so etwas wie dies mit .sortBy der lodash():
let sorted_meetings = _.sortBy(past_meetings, function(e){
return - (new Date(e.scheduled_for))
}
kein Erfolg.
meeting.scheduled_for
// returns 2017-03-03T03:33:00.000Z
versucht, die geplanten_für aber auch nicht viel Glück zu vergleichen.
kann dies mit _ ??? oder anders?
, welche Version von loadash Sie verwenden? – Nicholas
@Nicholas^4.17.4 – JessiAbrams
Sie benötigen eine absteigende Sortierung. Ich weiß nicht, welche Version von Loadash Sie verwenden. Sie können die Optionen in der akzeptierten Antwort versuchen. [Dieser Link.] (Http://stackoverflow.com/questions/22928841/lodash-multi-column-sortby-descending/29082994#29082994) – Nicholas