javascript - 使用javascript的对象中具有最高值的不同日期
问题描述
我有这样的事情:
data = [
{
DateMeasured:"2018-08-27T04:46:25",
Steps:100
},
{
DateMeasured:"2018-08-27T04:46:25",
Steps:500
},
{
DateMeasured:"2018-08-27T04:46:25",
Steps:800
},
{
DateMeasured:"2018-08-26T04:46:25",
Steps:400
},
{
DateMeasured:"2018-08-26T04:46:25",
Steps:300
},
{
DateMeasured:"2018-08-25T04:46:25",
Steps:100
}
];
我有一个像上面这样的数据对象,现在我想重新创建具有严格日期但其最高步骤的对象,但现在我想要这样:
data = [
{
DateMeasured:"2018-08-27T04:46:25",
Steps:800
},
{
DateMeasured:"2018-08-26T04:46:25",
Steps:400
},
{
DateMeasured:"2018-08-25T04:46:25",
Steps:100
}
];
我怎样才能实现这个目标?
解决方案
如果您需要按步数排序并取前 3 个元素:
const data = [ { DateMeasured:"2018-08-27T04:46:25", Steps:100 }, { DateMeasured:"2018-08-27T04:46:25", Steps:500 }, { DateMeasured:"2018-08-27T04:46:25", Steps:800 }, { DateMeasured:"2018-08-26T04:46:25", Steps:400 }, { DateMeasured:"2018-08-26T04:46:25", Steps:300 }, { DateMeasured:"2018-08-25T04:46:25", Steps:100 } ];
const sorted = data.sort((a, b) => b.Steps - a.Steps)
const takeFirst3 = sorted.slice(0, 3)
console.log(takeFirst3)
推荐阅读
- javascript - 我如何向所有具有特定角色的人发送私人消息?(discord.js)
- python - 功能记录器在 Pytest 中引发 FileNotFoundError
- xml - 使用 Go 解析时如何检查输入 XML 中的错误?
- python - 如何使用用户名和密码的特定变量发送发布请求身份验证?
- flutter - 如何在颤动中保存图像?无法使用 .copy 方法。颤抖?
- sql - 试图让 python sqlite 与 DATE 而不是实际的 DATETIME 字段进行比较
- github - 使用 Gtihub Actions 通过 SFTP 部署时,获取“进程 '/usr/bin/git' 失败,退出代码为 5”。有谁知道这是什么意思?
- python - 字典理解从具有重复键值的元组列表中获取每个键项的平均值
- python - “setup.py sdist bdist_wheel”打包时出错
- node.js - Heroku github 推送失败,无法检测到默认语言