kyl*_*oki 1 javascript node.js typescript reactjs
假设您有变量let maximum = 0;并且您执行以下操作:
for (let someObject of Objects) {
maximum = someObject.value > maximum ? someObject.value : maximum;
}
Run Code Online (Sandbox Code Playgroud)
我认为这段代码非常难看。目标只是maximum在出现更大的值时覆盖。但是,要做到这一点,您必须同时重复someObject.value和maximum各两次,这是冗长和恼人的阅读。
我的问题:有没有更惯用或更优雅的方式来写这个?
这不起作用,但是,如果>>不是按位运算符而是其他东西,则可以编写:
maximum >> someObject.value;
Run Code Online (Sandbox Code Playgroud)
这要优雅得多。打字稿中是否存在这样的东西?
映射并传播到Math.max:
const maximum = Math.max(0, ...Objects.map(o => o.value));
Run Code Online (Sandbox Code Playgroud)