猿问

在对象数组中查找属性的最大值

在对象数组中查找属性的最大值

我正在寻找一种非常快速、干净和高效的方法来获得以下JSON切片中的最大“y”值:

[
  {
    "x": "8/11/2009",
    "y": 0.026572007
  },
  {
    "x": "8/12/2009",
    "y": 0.025057454
  },
  {
    "x": "8/13/2009",
    "y": 0.024530916
  },
  {
    "x": "8/14/2009",
    "y": 0.031004457
  }]

循环是唯一的方法吗?我很想用Math.max.


一只名叫tom的猫
浏览 1301回答 3
3回答

慕姐4208626

找出最大值y中的对象的值。array:Math.max.apply(Math, array.map(function(o) { return o.y; }))

繁星coding

首先,您应该解析JSON字符串,这样您就可以轻松地访问它的成员:var arr = $.parseJSON(str);使用map方法提取值:arr = $.map(arr, function(o){ return o.y; });然后,您可以在max方法:var highest = Math.max.apply(this,arr);或者是一字一句:var highest = Math.max.apply(this,$.map($.parseJSON(str), function(o){ return o.y; }));
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答