我正在寻找一种非常快速,干净且有效的方法来获取以下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

}

]

for-loop是解决此问题的唯一方法吗? 我热衷于使用Math.max 。

#1楼

var max = 0;

jQuery.map(arr, function (obj) {

if (obj.attr > max)

max = obj.attr;

});

#2楼

在对象数组中找到属性“ Y”具有最大值的对象

一种方法是使用Array reduce ..

const max = data.reduce(function(prev, current) {

return (prev.y > current.y) ? prev : current

}) //returns object

如果您不需要支持IE(仅Edge),或者可以使用Babel等预编译器,则可以使用更简洁的语法。

const max = data.reduce((prev, current) => (prev.y > current.y) ? prev : current)

#3楼

简洁的ES6(Babel)

const maxValueOfY = Math.max(...arrayToSearchIn.map(o => o.y), 0);

如果arrayToSearchIn为空,则第二个参数应确保默认值。

#4楼

我想逐步解释简短的答案 :

var objects = [{ x: 3 }, { x: 1 }, { x: 2 }]; // array.map lets you extract an array of attribute values var xValues = objects.map(function(o) { return ox; }); // es6 xValues = Array.from(objects, o => ox); // function.apply lets you expand an array argument as individual arguments // So the following is equivalent to Math.max(3, 1, 2) // The first argument is "this" but since Math.max doesn't need it, null is fine var xMax = Math.max.apply(null, xValues); // es6 xMax = Math.max(...xValues); // Finally, to find the object that has the maximum x value (note that result is array): var maxXObjects = objects.filter(function(o) { return ox === xMax; }); // Altogether xMax = Math.max.apply(null, objects.map(function(o) { return ox; })); var maxXObject = objects.filter(function(o) { return ox === xMax; })[0]; // es6 xMax = Math.max(...Array.from(objects, o => ox)); maxXObject = objects.find(o => ox === xMax); document.write('

objects: ' + JSON.stringify(objects) + '

'); document.write('

xValues: ' + JSON.stringify(xValues) + '

'); document.write('

xMax: ' + JSON.stringify(xMax) + '

'); document.write('

maxXObjects: ' + JSON.stringify(maxXObjects) + '

'); document.write('

maxXObject: ' + JSON.stringify(maxXObject) + '

');

更多信息:

#5楼

如果您(或这里的某人)可以自由使用lodash实用程序库,则它具有

因此您可以这样使用:

_.maxBy(jsonSlice, 'y');

es6 数组找最大值_在对象数组中查找属性的最大值相关推荐

  1. JQ数组筛选,去重,对象数组求和

    JQ数组筛选 var list = this.selArr.filter(x => x.checkedList.length > 0).map(x => ({county: x.na ...

  2. java有序数组找中位数_有序数组中找中位数

    题目:两个有序数组A和B,大小都是n,寻找这两个数组合并后的中位数.时间复杂度为O(logn). 中位数:如果数组的个数是奇数,那么中位数的值就是有序时处于中间的数:如果数组个数是偶数的,那么就是有序 ...

  3. java创建数组并赋值_「java 数组」Java创建数组的方法 - seo实验室

    java 数组 最近学java,一点小心得,希望和大家分享一下,第一次写文章,写的不好希望大家谅解,当然我也会尽力写好这篇文章! Java创建数组的方法大致有三种 说明:这里以int为数据类型以arr ...

  4. java数组可扩展_[转载]Java数组扩容算法及Java对它的应用

    Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的. 2)利用数组复制方法可以变通的实现数组扩容. 3)System.arraycopy()可以复制数组. 4)Arr ...

  5. vba 将数组作为参数传递_将VBA数组写入工作表时转置(Transpose)的利用

    大家好,最近推出的内容是"VBA信息获取与处理"中的部分内容,这套教程面向中高级人员,涉及范围更广,实用性更强,现在的内容是第四个专题"EXCEL工作表数据的读取.回填和 ...

  6. [转载] java中对数组进行排序_如何在Java中对数组排序

    参考链接: Java中main()的有效变体 java中对数组进行排序 Java Array is like a container that can hold a fixed number of t ...

  7. java中字符串和数组如何比较_[Java教程]javascript中数组和字符串的方法比较

    [Java教程]javascript中数组和字符串的方法比较 0 2016-07-19 23:00:05 ×目录[1]可索引 [2]转换 [3]拼接[4]创建[5]位置 前面的话 字符串和数组有很多的 ...

  8. java中对数组进行排序_如何在Java中对数组排序

    java中对数组进行排序 Java Array is like a container that can hold a fixed number of the same type of items, ...

  9. python找出第二大值,Python程序在Dictionary中查找第二个最大值

    在本文中,我们将学习下面给出的问题陈述的解决方案. 问题陈述-我们给了两个整数,我们需要在字典中打印第二个最大值 现在让我们观察一下下面的实现中的概念- 方法1:sorted()通过负索引使用函数 示 ...

最新文章

  1. Android Fragment 调用宿主Activity 里面的方法
  2. Ubuntu下安装Stanford CoreNLP
  3. 成为机器学习工程师第一年,我学到的 12 件事
  4. 指针07 - 零基础入门学习C语言47
  5. HttpOperater
  6. 《零基础看得懂的C语言入门教程 》——(五)C语言的变量、常量及运算
  7. 20169210《Linux内核原理与分析》第十二周作业
  8. 没有bug队——加贝——Python 练习实例 31,32
  9. 消息人士:欧盟下月将对英伟达收购Arm交易展开正式调查
  10. 《Python游戏趣味编程》新书上架了
  11. ubuntu Shell
  12. ubuntu安装deb软件包文件
  13. python毕业设计作品基于django框架校园排课选课系统毕设成品(6)开题答辩PPT
  14. Arduino与Proteus仿真实例-TB6612FNG驱动直流电机仿真
  15. 数据库如何增加表中字段
  16. 粒子群算法python_用Python实现粒子群算法(PSO)
  17. WINCE 矩阵键盘 介绍
  18. 在VirtualBox安装Ubuntu虚拟机实现文件夹共享
  19. 病理IHC专题|免疫检查点抑制剂疗效生物标志物PD-L1
  20. python登录微信pc版_腾讯TIM iOS版2.5.6重大更新:新增支持微信帐号登录、语音进度条...

热门文章

  1. 计算机的学生跨专业考研
  2. 细胞生物学 Chapter12:绪论
  3. 【安全与风险】密码安全和用户认证
  4. 只会收藏松果的“松鼠”
  5. C语言fmod()函数:对浮点数取模(求余)和%取余运算符的比较
  6. 35岁程序员:从焦虑到适应
  7. 扁鹊医术与企业解决方案
  8. 一天学会SQL,写给小白的数据库教程
  9. Spark Sparrow
  10. springboot+vue3.0+token 安全验证