You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript 如何删除对象中最旧元素 保留指定数量最新条目

实现方案

逻辑思路

  • 首先判断帖子总数是否超过9条,仅超出时执行删除逻辑
  • 将原对象的键值对转换为数组,每一项包含帖子id和对应的帖子内容
  • 按照帖子的发布日期升序排序,排在数组最前端的就是时间最早的帖子
  • 计算需要删除的帖子数量 = 当前总帖子数 - 9
  • 依次删除排序后最前面的N条最早帖子即可

完整实现代码

function deleteOldestLastPosts(lastPosts) {
    if (Object.keys(lastPosts).length > 9) {
        // 将帖子按发布时间从早到晚排序
        const sortedPosts = Object.entries(lastPosts).sort((postA, postB) => {
            return postA[1].date - postB[1].date
        })
        // 计算需要删除的帖子数量
        const needDeleteNum = Object.keys(lastPosts).length - 9
        // 删除最早的指定数量的帖子
        for (let i = 0; i < needDeleteNum; i++) {
            delete lastPosts[sortedPosts[i][0]]
        }
    }
}

效果验证

你给出的示例中原有11条帖子,执行函数后会删除时间最早的2条:id2(2000/10/10 10:00:00)和id7(2000/10/10 10:00:01),剩余9条帖子和你给出的期望结果完全一致。

内容的提问来源于stack exchange,提问作者Raul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:15:03