Underscore.JS la bibliothèque simple

Un petit article rapide pour partager une bibliothèque que j'utilise maintenant depuis quelques mois. Je viens de penser à la partager car elle continue d'évoluer, sans se compliquer, sans s'encombrer de choses inutiles, ce que je trouve remarquable (Last update 2 april 2015). Elle me facilite grandement la vie en NodeJs / AngularJs.
Underscore.JS se constitue de fonctions optimisées que nous réalisons habituellement à la main dans la plus grande partie des projets. Cela permet donc d'aller plus vite mais aussi de simplifier la relecture du code pour les optimisations.
Simple, non encombrant, rien à dire.
Pour plus de détails ;) sur Underscore.Js & dans le même style, loadash.
Ps : Pour une utilisation avec JSHint, n'oubliez pas d'éditer votre ".jshintrc" afin que celui ne vous remonte pas d'érreurs sur les "_" :
"predef": [ // Extra globals.
"_"
],
Quelques exemples Underscore.Js :
findLastIndex_.findLastIndex(array, predicate, [context])
Like _.findIndex but iterates the array in reverse, returning the index closest to the end where the predicate truth test passes.
var users = [{'id': 1, 'name': 'Bob', 'last': 'Brown'},
{'id': 2, 'name': 'Ted', 'last': 'White'},
{'id': 3, 'name': 'Frank', 'last': 'James'},
{'id': 4, 'name': 'Ted', 'last': 'Jones'}];
_.findLastIndex(users, {
name: 'Ted'
});
=> 3
clone_.clone(object)
Create a shallow-copied clone of the provided plain object. Any nested objects or arrays will be copied by reference, not duplicated.
_.clone({name: 'moe'});
=> {name: 'moe'};
matcher_.matcher(attrs)
Returns a predicate function that will tell you if a passed in object contains all of the key/value properties present in attrs.
var ready = _.matcher({selected: true, visible: true});
var readyToGoList = _.filter(list, ready);