Como filtrar e exibir a data mais atuas dentro de um objeto JS

eu tenho a seguinte lista de objetos porem preciso filtrar apenas o user…

let msg = [{ _id: 5cef45879e78602774e921d0,     to: '5ce82f0deee6dc458a20b21e',     from: '5ce82f0deee6dc458a20b21e',     text: '5',     type: 'text',     user:      { id: '5ce82f0deee6dc458a20b21e',        name: 'usuario4.2',        display: 'usuario4',        descript: 'usuario4',        avatar: 'blazer2.png',        createdAt: 1559184735135 },     channel: '/geral',     createdAt: 1559184775656 },   { _id: 5cef45789e78602774e921cf,     to: '5ce82f0deee6dc458a20b21e',     from: '5ce82f0deee6dc458a20b21e',     text: '4',     type: 'text',     user:      { id: '5ce82f0deee6dc458a20b21e',        name: 'usuario4.2',        display: 'usuario4',        descript: 'usuario4',        avatar: 'blazer2.png',        createdAt: 1559184735135 },     channel: '/geral',     createdAt: 1559184760319 },   { _id: 5cef406c52c9ec1e37065be7,     to: '5ce82f0deee6dc458a20b21e',     from: '5ce82f0deee6dc458a20b21e',     text: '3',     type: 'text',     user:      { id: '5ce82f0deee6dc458a20b21e',        name: 'usuario4.1',        display: 'usuario4',        descript: 'usuario4',        avatar: 'blazer2.png',        createdAt: 1559183392625 },     channel: '/geral',     createdAt: 1559183468769 },   { _id: 5cef406952c9ec1e37065be6,     to: '5ce82f0deee6dc458a20b21e',     from: '5ce82f0deee6dc458a20b21e',     text: '2',     type: 'text',     user:      { id: '5ce82f0deee6dc458a20b21e',        name: 'usuario4.1',        display: 'usuario4',        descript: 'usuario4',        avatar: 'blazer2.png',        createdAt: 1559183392625 },   { _id: 5cef406352c9ec1e37065be5,     to: '5ce82f0deee6dc458a20b21e',     from: '5ce82f0deee6dc458a20b21e',     text: '1',     type: 'text',     user:      { id: '5ce82f0deee6dc458a20b21e',        name: 'usuario4.1',        display: 'usuario4',        descript: 'usuario4',        avatar: 'blazer2.png',        createdAt: 1559183392625 },     channel: '/geral',     createdAt: 1559183459121 } ]  Então rodei let x = msg.map(res => res.user) dai consegui..     { id: '5ce82f0deee6dc458a20b21e',    name: 'usuario4.2',    display: 'usuario4',    descript: 'usuario4',    avatar: 'blazer2.png',    createdAt: 1559184735135 },  { id: '5ce82f0deee6dc458a20b21e',    name: 'usuario4.2',    display: 'usuario4',    descript: 'usuario4',    avatar: 'blazer2.png',    createdAt: 1559184735135 },  { id: '5ce82f0deee6dc458a20b21e',    name: 'usuario4.1',    display: 'usuario4',    descript: 'usuario4',    avatar: 'blazer2.png',    createdAt: 1559183392625 },  { id: '5ce82f0deee6dc458a20b21e',    name: 'usuario4.1',    display: 'usuario4',    descript: 'usuario4',    avatar: 'blazer2.png',    createdAt: 1559183392625 },  { id: '5ce82f0deee6dc458a20b21e',    name: 'usuario4.1',    display: 'usuario4',    descript: 'usuario4',    avatar: 'blazer2.png',    createdAt: 1559183392625 }, 

Depois rodei esse codigo para tirar os repetidos…

let unic = x.filter(function (a) {                     return !this[JSON.stringify(a)] &&                      (this[JSON.stringify(a)] = true);                 }, Object.create(null)) 

Recebi :

[ { id: '5ce82f0deee6dc458a20b21e',     name: 'usuario4.1',     display: 'usuario4',     descript: 'usuario4',     avatar: 'blazer2.png',     createdAt: 1559183392625 },   { id: '5ce82f0deee6dc458a20b21e',     name: 'usuario4.2',     display: 'usuario4',     descript: 'usuario4',     avatar: 'blazer2.png',     createdAt: 1559184735135 } ] 

Só que eu gostaria que ele só mostrasse o que tem a data mais atual que tenha o id = id

Não tenho nem ideia de como fazer isso…. alguem poderia ajudar…