I will say just few words about AngularJS, specifically the module, the controller and the data binding in order to make sense of the given code, before describing Underscore in more detail.
AngularJS is a structural framework for dynamic web apps, is what HTML would have been had it been designed for applications. AngularJS lets you extend HTML vocabulary for your application. AngularJS is a toolset for building the framework most suited to your application development. It is fully extensible and works well with other libraries.
Just to remind you the 14 Array Object Methods. But is that all? Is there any way to enrich our utility belt?
Manipulating an array, filtering a collection, applying a function over each item in a collection, extracting the keys or the values from an object are much easier operations by means of the many more functions that you can just call like _.difference(array, *others)
Via Jan Hesse