Underscore.js
►http://documentcloud.github.com/underscore
#functional_programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in #JavaScript objects. It’s the tie to go along with jQuery’s tux.
Underscore provides 60-odd functions that support both the usual functional suspects: #map, #select, #invoke — as well as more specialized helpers: function #binding, javascript #templating, deep equality testing, and so on. It delegates to built-in functions, if present, so modern browsers will use the native implementations of forEach, map, #reduce, #filter, every, some and indexOf.