JavaScript 实用工具库:lodash
lodash 是一个 JavaScript 实用工具库,提供一致性,模块化,性能和配件等功能。
_.assign({ 'a': 1 }, { 'b': 2 }, { 'c': 3 }); // → { 'a': 1, 'b': 2, 'c': 3 } _.map([1, 2, 3], function(n) { return n * 3; }); // → [3, 6, 9]
当前支持 Chrome 39-40, Firefox 34-35, IE 6-11, Opera 25-26, Safari 5-8, io.js 1.0.4, Node.js 0.8.28 & 0.10.35, PhantomJS 1.9.8, RingoJS 0.11, & Rhino 1.7RC5。
方法包括:
-
~100% code coverage
-
Follows semantic versioning for releases
-
Lazily evaluated chaining
-
_(…) supports intuitive chaining
-
_.at for cherry-picking collection values
-
_.attempt to execute functions which may error without a try-catch
-
_.chunk for splitting an array into chunks of a given size
-
_.clone supports shallow cloning ofDate&RegExpobjects
-
_.cloneDeep for deep cloning arrays & objects
-
_.create for easier object inheritance
-
_.curry & _.curryRight for creating curried functions
-
_.debounce & _.throttle are cancelable & accept options for more control
-
_.findIndex & _.findKey for finding indexes & keys
-
_.flow to complement _.flowRight (a.k.a_.compose)
-
_.forEach supports exiting early
-
_.forIn for iterating all enumerable properties
-
_.forOwn for iterating own properties
-
_.includes accepts afromIndex
-
_.isError to check for error objects
-
_.isNative to check for native functions
-
_.isPlainObject & _.toPlainObject to check for & convert toObjectobjects
-
_.isTypedArray to check for typed arrays
-
_.keysIn & _.valuesIn for getting keys & values of all enumerable properties
-
_.mapValues for mapping values to an object
-
_.parseInt for consistent cross-environment behavior
-
_.random supports returning floating-point numbers
-
_.runInContext for collisionless mixins & easier mocking
-
_.slice for creating subsets of array-like values
-
_.sortByAll for sorting by multiple properties
-
_.support for flagging environment features
-
_.template supports “imports” options & ES template delimiters
-
_.transform as a powerful alternative to _.reduce for transforming objects
-
_.thru to pass values thru method chains
-
_.where supports deep object comparisons
-
_.xor to complement _.difference, _.intersection, & _.union
-
_.bind, _.curry, _.partial, & more support customizable argument placeholders
-
_.capitalize, _.trim, & more string methods
-
_.dropWhile, _.takeWhile, & more to complement _.first, _.initial, _.last, & _.rest
-
_.findLast, _.findLastIndex, & more right-associative methods
-
_.includes, _.toArray, & more accept strings