javascript filter array by groups of highest

JavaScript
const arr = [{"name":"bathroom","value":54,"timeStamp":1562318089713},{"name":"bathroom","value":55,"timeStamp":1562318090807},{"name":"bedroom","value":48,"timeStamp":1562318092084},{"name":"bedroom","value":49,"timeStamp":1562318092223},{"name":"room","value":41,"timeStamp":1562318093467}]

const result = Object.values(arr.reduce((r, o) => {
  r[o.name] = r[o.name] && r[o.name].value > o.value ? r[o.name] : o

  return r
}, {}))

console.log(result)
Source

Also in JavaScript: