我有一个对象列表,每个对象都具有time
属性,它是一个整数(代码实际上是打字稿,所以time
实际上是number
类型)。
我想在列表中的对象中获得最高的time
。
什么是简洁但可理解的方法?我当前的方法如下,但似乎很笨拙:
let times = []
for(let adventurer of adventurers) {
times.push(adventurer.time)
}
Math.max(...times)
答案 0 :(得分:6)
$('#id_or_.class').html("<%= escape_javascript(render(@update_task)) %>");
答案 1 :(得分:2)
EventBus
答案 2 :(得分:0)
我不确定这是否是有效的语法,但是您可以尝试:
function getMax(array) {
let max = 0;
for (let item in array) {
if (max < item ) max = item;
else continue;
}
return max;
}
此外,如果您要处理时间或其他数据模型,则可能必须自定义排序。
这是javascript:
array.sort(function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
});
答案 3 :(得分:0)
尝试一下
var adventurers = [
{time : 100},
{time : 120},
{time : 160},
{time : 90},
{time : 200},
]
const maxTime = adventurers.sort((val1,val2)=> {
return (val1.time < val2.time ) ? 1 : -1
})[0]
console.log(maxTime) // {time : 200}
console.log(maxTime.time) // 200