Underscore is a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects.
Underscore provides over 100 functions that support both your favorite workaday functional helpers: map, filter, invoke — as well as more specialized goodies: function binding, javascript templating, creating quick indexes, deep equality testing, and so on.