Using Array.prototype.filter() and Array.prototype.map()
You have a bug in your code. Filter expects true or false. Your still works because implicit type conversion of Javascript (object => true, undefined => false). 

Correct would be:

var categories = this.information.filter(function (item) {
    return item.type === 'genre';
});


Filter/Map could be combined together if you like.

You're using variable from outside. You could improve testability and readability by using of arguments and return the result.

this.flattenCategories = function (information, separator) {
    // flatten in a single string all categories so to be easily visaulised in the dom
    return information
        .filter(function (item) { return item.type === 'genre'; })
        .map(function (item) { return item.value; })
        .join(separator);
}