javascript - 获取字典列表中的最大值,其中字典中存在多个值

标签 javascript

我有一个看起来像这样的字典列表:

activityType: "message"
actorFirstName: "name"
actorHeadline: ""
actorId: 131659821
actorLastName: "last"
actorVectorImage: 
i18nLastModifiedRelative: "24 days ago"
lastModified: 1561549463000

我想检查列表中的所有字典并找到最近的 lastModified 时间戳,其中 actorId: 131659821 && activityType: "message"

我正在考虑在 forEach 循环中检查每个键,但这只有在我只需要检查 1 个键:值时才有帮助。

我尝试过类似的方法:

  inmailList.forEach((inmail) => {
        Object.keys(inmail).forEach((key) => {
            if (inmail[key] === 'message') 
        })
    })

这只是告诉我一个值是否是“message”,但它不会检查 actorId

有没有办法一次检查多个键/值?

最佳答案

// filter
let filteredData = inmailList.filter(activity => activity.actorId === 131659821 
    && activity.activityType === 'message');

// sort descending
filteredData.sort((a, b) => b.lastModified - a.lastModified);

// take first
let mostRecent = filteredData[0];

关于javascript - 获取字典列表中的最大值,其中字典中存在多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57126372/

相关文章:

javascript - 通过 POST ajax 调用下载文件

计算输入框输入字数的JavaScript代码

javascript - 到达水平滚动端时如何设置[禁用] attr? (小 slider )

javascript - 仅当鼠标放在按钮上时显示 div

javascript - AJAX:如何在单击按钮时更改客户端和服务器端的值?

javascript - 使脚本标记中的函数不是全局的

javascript - 如果返回 false,如何在提交时关闭引导模式?

javascript - WordPress 点击时显示子导航

javascript - 在 React 中,当我触发另一个组件中的 Add 函数时,如何正确使用钩子(Hook)来更新一个组件?

javascript - setInterval 无法访问变量?