javascript - 快速获取对象属性中的最小/最大值的方法

标签 javascript jquery

我在 javascript 中有一个这样的对象:

{ "a":4, "b":0.5 , "c":0.35, "d":5 }

有没有一种快速获取属性中的最小值和最大值而无需遍历所有属性的方法?因为我拥有的对象很大,我需要每两秒获取一次最小/最大值。 (对象的值不断变化)。

最佳答案

更新:现代版(ES6+)

let obj = { a: 4, b: 0.5 , c: 0.35, d: 5 };

let arr = Object.values(obj);
let min = Math.min(...arr);
let max = Math.max(...arr);

console.log( `Min value: ${min}, max value: ${max}` );


原答案:

试试这个:

let obj = { a: 4, b: 0.5 , c: 0.35, d: 5 };
var arr = Object.keys( obj ).map(function ( key ) { return obj[key]; });

然后:

var min = Math.min.apply( null, arr );
var max = Math.max.apply( null, arr );

现场演示: http://jsfiddle.net/7GCu7/1/

关于javascript - 快速获取对象属性中的最小/最大值的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11142884/

相关文章:

javascript - 水平排列动态内容

javascript - jstree中如何获取选中节点的所有子节点

javascript - 单击按钮将元素移动到另一个元素之上

javascript - 如何发布到 Facebook 粉丝页面?

javascript - 正确地迭代 Angular 中的键值对

javascript - Jquery将项目添加到列表而不重新加载页面

javascript - Ajax 请求返回 200 OK,但触发了错误事件而不是成功

jquery - 在显示之前在 jQuery UI 日期选择器中设置另一个月份作为默认值

javascript - 使用 Javascript 或 jQuery 防止在文本字段中输入数字

jquery - “jQuery.getJSON”在 Internet Explorer 8 中不起作用