object.values take max code example

Example 1: object get property with max value javascript

var obj = {a: 1, b: 2, undefined: 1};

Object.keys(obj).reduce((a, b) => (obj[a] > obj[b]) ? a : b);

Example 2: get object with max value javascript

let objects = [{id: 0, votes: 5}, {id: 1, votes: 3}, {id: 2, votes: 11}]

let maxObj = objects.reduce((max, obj) => (max.votes > obj.votes) ? max : obj);

/* `max` is always the object with the highest value so far. 
 * If `obj` has a higher value than `max`, then it becomes `max` on the next iteration.
 * So here:
 *  |  max = {id: 0, votes: 5},   obj = {id: 1, votes: 3}
 *  |  max = {id: 0, votes: 5},   obj = {id: 2, votes: 11}
 * reduced = {id: 2, votes: 11}
 */