从对象获取具有最高值的键
2022-08-30 05:41:53
我有一个这样的对象:
Object {a: 1, b: 2, undefined: 1}
如何快速从中提取最大值标识符(此处:)?我尝试将其转换为数组,然后进行排序,但它没有成功,因为它按字母顺序排序(并且为了从三个值中获取一个值而来回处理数据似乎有些过分)。b
我有一个这样的对象:
Object {a: 1, b: 2, undefined: 1}
如何快速从中提取最大值标识符(此处:)?我尝试将其转换为数组,然后进行排序,但它没有成功,因为它按字母顺序排序(并且为了从三个值中获取一个值而来回处理数据似乎有些过分)。b
例如:
var obj = {a: 1, b: 2, undefined: 1};
Object.keys(obj).reduce(function(a, b){ return obj[a] > obj[b] ? a : b });
在 ES6 中:
var obj = {a: 1, b: 2, undefined: 1};
Object.keys(obj).reduce((a, b) => obj[a] > obj[b] ? a : b);
使用下划线或 Lo-Dash:
var maxKey = _.max(Object.keys(obj), function (o) { return obj[o]; });
使用 ES6 箭头函数:
var maxKey = _.max(Object.keys(obj), o => obj[o]);