Underscore.js is a utility-belt library for JavaScript, providing functional programming aid.
Here are some key features of "Underscore-perl":
Collections:
· each
· map
· reduce
· reduceRight
· detect
· select
· reject
· all
· any
· include
· invoke
· pluck
· max
· min
· sortBy
· groupBy
· sortedIndex
· toArray
· size
Arrays:
· first
· rest
· last
· compact
· flatten
· without
· union
· intersection
· difference
· uniq
· zip
· indexOf
· lastIndexOf
· range
Functions:
· bind
· bindAll
· memoize
· delay
· defer
· throttle
· debounce
· once
· after
· wrap
· compose
Objects:
· keys
· values
· functions
· extend
· defaults
· clone
· tap
· isEqual
· isEmpty
· isElement
· isArray
· isArguments
· isFunction
· isString
· isNumber
· isBoolean
· isDate
· isRegExp
· isNaN
· isNull
· isUndefined
Utility:
· noConflict
· identity
· times
· mixin
· uniqueId
· template
Chaining:
· chain
· value
Limitations:
· This is not an exact port, and some differences may be present.