Итак, я хотел сравнить две даты внутри пост-объекта.Я пытался сравнить объекты даты, но это вернуло NaN.Затем я попытался преобразовать его в миллисекунды с 1970 года, используя .now () в эти даты, но он вернул следующую ошибку:
It happens: TypeError: a.date.now is not a function
Я попытался typeof a.date
, и это вернуло string
.Я не знаю, почему я не могу использовать метод .now ().Может ли кто-нибудь мне помочь?
вся функция внутри угловой службы
getPosts(section) {
return this.http.get(url + '/forum/getPosts/' + section )
.map( (posts: any) => {
// posts should be ordened based on latest replies. If there are no replies yet, we compare it to the date
// of the original post
posts.obj.sort((a, b) => {
const aHasReplies = a.replies.length !== 0;
const bHasReplies = b.replies.length !== 0;
if (aHasReplies && bHasReplies ) {
return a.replies.slice(-1, 1)[0].date - b.replies.slice(-1, 1)[0].date;
} else if ( aHasReplies && !bHasReplies) {
return a.replies.slice(-1, 1)[0].date - b.date;
} else if ( !aHasReplies && bHasReplies) {
return a.date - b.replies.slice(-1, 1)[0].date;
} else {
console.log(a.date.now());
return a.date - b.date;
}
});
return posts;
});
}