
从最新到最旧排序并显示列表前五项
问题描述: 如何对列表进行排序,使其按时间戳从新到旧排列,并仅显示前五项?现有代码虽然能正确排序时间戳,但显示结果却有误。
解决方案:
原始代码的问题在于:
以下代码提供了正确的排序和显示方法:
<code class="javascript">$(function() {
sortAndDisplayTopFive();
});
function sortAndDisplayTopFive() {
const listItems = $(".i-list li");
const timestamps = [];
// 提取时间戳并转换为数字
listItems.each(function() {
const timestampStr = $(this).find(".time").text().replace(/-/g, "/");
const timestamp = Date.parse(timestampStr);
timestamps.push({ timestamp, element: this });
});
// 按时间戳从新到旧排序
timestamps.sort((a, b) => b.timestamp - a.timestamp);
// 隐藏所有列表项,然后显示前五项
listItems.hide();
timestamps.slice(0, 5).forEach(item => $(item.element).show());
}</code>此代码首先提取所有列表项的时间戳,并将其与对应的DOM元素一起存储在一个数组中。然后,它使用sort方法按时间戳从新到旧排序。最后,它隐藏所有列表项,然后仅显示排序后的前五项。 这种方法避免了重复排序,并确保了正确的显示顺序。 此外,代码使用了更简洁的replace(/-/g, "/")来替换所有"-"字符,并直接使用Date.parse转换时间字符串,提高了代码的可读性和效率。
以上就是如何高效显示列表中按时间从新到旧排序的前5条数据?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号