Javascript-从对象列表中获取最大数量,每个对象的属性均为数字

时间:2018-08-16 03:22:10

标签: javascript typescript max

我有一个对象列表,每个对象都具有time属性,它是一个整数(代码实际上是打字稿,所以time实际上是number类型)。

我想在列表中的对象中获得最高的time

什么是简洁但可理解的方法?我当前的方法如下,但似乎很笨拙:

let times = []

for(let adventurer of adventurers) {
    times.push(adventurer.time)
}

Math.max(...times)

4 个答案:

答案 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