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