function collectProperties(arrayOfObjects) {
return arrayOfObjects.reduce(function(memo, object) {
Object.keys(object).forEach(function(key) {
if (memo.indexOf(key) === -1) { memo.push(key) };
});
return memo;
}, []);
}
var testArray = [
{name: "Jovem1", esteira: "Macaco"},
{name: "Jovem", esteira: "Doido", horse: "Chimbinha"}
];
console.log(collectProperties(testArray));
Hide resultcollectProperties(testeArray) ['name', 'esteira', 'horse'].
CoffeeScript:
collectProperties = (arrayOfObjects) ->
properties = []
for object in arrayOfObjects
for own property of object when property not in properties
properties.push(property)
properties
testArray = [
{name: "Jovem1", esteira: "Macaco"}
{name: "Jovem", esteira: "Doido", horse: "Chimbinha"}
]
console.log(collectProperties(testArray))