const isUnique = (value, index, self) => self.indexOf(value) === index; const unique = items => items.filter(isUnique); const mapBy = (items, key) => items.map(item => item[key]); const uniqueKeys = (items, key) => unique(mapBy(items, key)); const someKeys = (item, keys) => keys.reduce((result, key) => { result[key] = item[key]; return result; }, {});