在社交媒体、论坛或博客等平台上,帖子和评论的排序是一个常见的需求。通常,新帖子和新评论的排序可以通过时间戳来实现,即最新的内容排在最前面。这种排序方式有助于用户快速获取最新的信息。
以下是一个简单的示例代码,展示如何根据新帖子和新评论对帖子进行排序。假设我们有一个帖子列表和每个帖子的评论列表。
// 假设我们有一个帖子列表和每个帖子的评论列表
const posts = [
{
id: 1,
title: 'Post 1',
timestamp: new Date('2023-10-01T10:00:00Z'),
comments: [
{ id: 1, text: 'Comment 1', timestamp: new Date('2023-10-01T10:05:00Z') },
{ id: 2, text: 'Comment 2', timestamp: new Date('2023-10-01T10:10:00Z') }
]
},
{
id: 2,
title: 'Post 2',
timestamp: new Date('2023-10-01T09:55:00Z'),
comments: [
{ id: 3, text: 'Comment 3', timestamp: new Date('2023-10-01T10:03:00Z') }
]
}
];
// 根据帖子的时间戳进行排序
posts.sort((a, b) => b.timestamp - a.timestamp);
// 根据评论的时间戳进行排序
posts.forEach(post => {
post.comments.sort((a, b) => b.timestamp - a.timestamp);
});
console.log(posts);
const express = require('express');
const app = express();
// 假设我们有一个帖子列表和每个帖子的评论列表
let posts = [
{
id: 1,
title: 'Post 1',
timestamp: new Date('2023-10-01T10:00:00Z'),
comments: [
{ id: 1, text: 'Comment 1', timestamp: new Date('2023-10-01T10:05:00Z') },
{ id: 2, text: 'Comment 2', timestamp: new Date('2023-10-01T10:10:00Z') }
]
},
{
id: 2,
title: 'Post 2',
timestamp: new Date('2023-10-01T09:55:00Z'),
comments: [
{ id: 3, text: 'Comment 3', timestamp: new Date('2023-10-01T10:03:00Z') }
]
}
];
app.get('/posts', (req, res) => {
// 根据帖子的时间戳进行排序
posts.sort((a, b) => b.timestamp - a.timestamp);
// 根据评论的时间戳进行排序
posts.forEach(post => {
post.comments.sort((a, b) => b.timestamp - a.timestamp);
});
res.json(posts);
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云