javascript - 将最大值存储在变量中的惯用方式?
问题描述
假设您有变量let maximum = 0;
并且您执行以下操作:
for (let someObject of Objects) {
maximum = someObject.value > maximum ? someObject.value : maximum;
}
我认为这段代码非常难看。maximum
如果出现更大的值,目标只是覆盖。但是,要做到这一点,您必须重复两次someObject.value
,maximum
每次都重复两次,这既冗长又烦人。
我的问题:有没有更惯用或更优雅的方式来写这个?
这不起作用,但是,如果>>
不是按位运算符而是别的东西,可以这样写:
maximum >> someObject.value;
这要优雅得多。Typescript中是否存在类似的东西?
解决方案
映射并传播到Math.max
:
const maximum = Math.max(0, ...Objects.map(o => o.value));
推荐阅读
- python - 如何在列表中找到所有连接的子列表?Python
- docker - 从我的 docker 站点的 URL 中删除端口号
- react-native - 可重用代码中的问题以检查本机反应中的互联网可用性
- javascript - 如何找到具有相同href 的-tags,以便可以将类添加到具有相同-tag 的所有元素?
- node.js - heroku:package.json 中未指定节点版本
- mysql - 安装 MySQL 后无法通过 SSH 连接到 Google Cloud VM
- android - 底部导航视图 Null
- php - css 值取决于 php 变量
- java - 获取当前登录的用户 Spring
- reactjs - 我如何从 React DatePicker 获得 UTC +1?