Extrair o atributo do objeto da lista de objetos em JavaScript
Eu tenho o seguinte objeto que estou recebendo de uma API:
{
'2012-12-12': [
{ 'id': 1234,
'type': 'A' },
{ 'id': 1235,
'type': 'A' },
{ 'id': 1236,
'type': 'B' },
],
'2012-12-13': [
{ 'id': 1237,
'type': 'A' },
{ 'id': 1238,
'type': 'C' },
{ 'id': 1239,
'type': 'B' },
]
}
Então eu quero ter outra variável chamadatypes
do tipoArray
que irá realizar todos os valores possíveis dotype
atributo de cada um dos objetos. Nesse caso, seria:
types = ['A', 'B', 'C']
Eu estou tentando fazer isso de uma maneira funcional (estou usando o underscore.js), mas não consigo descobrir uma maneira de fazer isso. Agora estou usando
types = [];
_.each(response, function(arr1, key1) {
_.each(arr1, function(arr2, key2) {
types.push(arr2.type);
});
});
types = _.uniq(types);
Mas isso é muito feio. Você pode me ajudar a descobrir uma maneira melhor de escrever esse código?
Obrigado!