let clients = [
{
name: "John",
age: "25"
},
{
name: "John",
age: "25"
},
{
name: "Tom",
age: "30"
},
{
name: "Tom",
age: "42"
}
]
// let sameClients = clients.reduce((acc, cur, idx) => {
// if (clients.find(({ name, age }, i) => i !== idx && name === cur.name && age === cur.age)) {
// if (!acc.find(({ name, age }) => name === cur.name && age === cur.age)) {
// acc.push(cur)
// }
// }
// return acc
// }, [])
// по всем ключам объекта
let sameClients = clients.reduce((acc, cur, idx) => {
if (
clients.find((c, i) => i !== idx && JSON.stringify(c) === JSON.stringify(cur))
&&
!acc.find((c) => JSON.stringify(c) === JSON.stringify(cur))
) {
acc.push(cur)
}
return acc
}, [])
console.log(sameClients)
// for (let i = 0; i < client.length; i++) {
// если имена и возрасты объектов равны, то
// sameClient.push(client[i].name, client[i].age)
// }