Уже есть много действительных ответов, но я хотел добавить тот, который использует только метод reduce()
, потому что он чист и прост.
function uniqueBy(arr, prop){
return arr.reduce((a, d) => {
if (!a.includes(d[prop])) a.push(d[prop]);
return a;
}, []);
}
Используйте его так:
var array = [
{"name": "Joe", "age": 17},
{"name": "Bob", "age": 17},
{"name": "Carl", "age": 35}
];
var ages = uniqueBy(array, "age");
console.log(ages); // [17, 35]