quiero eliminar los duplicados de la 'matriz de objetos' de javascript en función del valor de la propiedad del objeto
var data = [ { "John Doe": "john33@gmail.com", }, { "William Smith": "william65@gmail.com", }, { "Robert Johnson": "robert99@gmail.com", }, { "John Smith": "john33@gmail.com", }, { "James Johnson": "james8@gmail.com", }, ];aquí en la matriz de 'datos' hay los mismos correos electrónicos para "John Doe" y "John Smith", quiero eliminar un objeto del tema.
Esto se puede hacer con Array.reduce() , combinado con Object.values() de la siguiente manera:
var data = [ { "John Doe": "john33@gmail.com", }, { "William Smith": "william65@gmail.com", }, { "Robert Johnson": "robert99@gmail.com", }, { "John Smith": "john33@gmail.com", }, { "James Johnson": "james8@gmail.com", }, ]; const result = data.reduce((acc, o) => { if (!acc.map(x => Object.values(x)[0]).includes(Object.values(o)[0])) { acc.push(o); } return acc; }, []); console.log(result);