How to get distinct values from an array of objects in JavaScript?
If you are using ES6/ES2015 or later you can do it this way:
const data = [ { group: 'A', name: 'SD' }, { group: 'B', name: 'FI' }, { group: 'A', name: 'MM' }, { group: 'B', name: 'CO'}];const unique = [...new Set(data.map(item => item.group))]; // [ 'A', 'B']
Here is an example on how to do it.
using ES6
let array = [ { "name": "Joe", "age": 17 }, { "name": "Bob", "age": 17 }, { "name": "Carl", "age": 35 }];array.map(item => item.age) .filter((value, index, self) => self.indexOf(value) === index)> [17, 35]
If this were PHP I'd build an array with the keys and take array_keys
at the end, but JS has no such luxury. Instead, try this:
var flags = [], output = [], l = array.length, i;for( i=0; i<l; i++) { if( flags[array[i].age]) continue; flags[array[i].age] = true; output.push(array[i].age);}