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!

questionAnswers(2)

yourAnswerToTheQuestion