_(value)
Creates a lodash object which wraps value to enable implicit chaining.
Methods that operate on and return arrays, collections, and functions can
be chained together. Methods that retrieve a single value or may return a
primitive value will automatically end the chain returning the unwrapped
value. Explicit chaining may be enabled using _.chain. The execution of
chained methods is lazy, that is, execution is deferred until _#value
is implicitly or explicitly called.
Lazy evaluation allows several methods to support shortcut fusion. Shortcut
fusion is an optimization strategy which merge iteratee calls; this can help
to avoid the creation of intermediate data structures and greatly reduce the
number of iteratee executions.
Chaining is supported in custom builds as long as the _#value method is
directly or indirectly included in the build.
In addition to lodash methods, wrappers have Array and String methods.
The wrapper Array methods are:
concat, join, pop, push, reverse, shift, slice, sort,
splice, and unshift
The wrapper String methods are:
replace and split
The wrapper methods that support shortcut fusion are:
compact, drop, dropRight, dropRightWhile, dropWhile, filter,
first, initial, last, map, pluck, reject, rest, reverse,
slice, take, takeRight, takeRightWhile, takeWhile, toArray,
and where
The chainable wrapper methods are:
after, ary, assign, at, before, bind, bindAll, bindKey,
callback, chain, chunk, commit, compact, concat, constant,
countBy, create, curry, debounce, defaults, defaultsDeep,
defer, delay, difference, drop, dropRight, dropRightWhile,
dropWhile, fill, filter, flatten, flattenDeep, flow, flowRight,
forEach, forEachRight, forIn, forInRight, forOwn, forOwnRight,
functions, groupBy, indexBy, initial, intersection, invert,
invoke, keys, keysIn, map, mapKeys, mapValues, matches,
matchesProperty, memoize, merge, method, methodOf, mixin,
modArgs, negate, omit, once, pairs, partial, partialRight,
partition, pick, plant, pluck, property, propertyOf, pull,
pullAt, push, range, rearg, reject, remove, rest, restParam,
reverse, set, shuffle, slice, sort, sortBy, sortByAll,
sortByOrder, splice, spread, take, takeRight, takeRightWhile,
takeWhile, tap, throttle, thru, times, toArray, toPlainObject,
transform, union, uniq, unshift, unzip, unzipWith, values,
valuesIn, where, without, wrap, xor, zip, zipObject, zipWith
The wrapper methods that are not chainable by default are:
add, attempt, camelCase, capitalize, ceil, clone, cloneDeep,
deburr, endsWith, escape, escapeRegExp, every, find, findIndex,
findKey, findLast, findLastIndex, findLastKey, findWhere, first,
floor, get, gt, gte, has, identity, includes, indexOf,
inRange, isArguments, isArray, isBoolean, isDate, isElement,
isEmpty, isEqual, isError, isFinite isFunction, isMatch,
isNative, isNaN, isNull, isNumber, isObject, isPlainObject,
isRegExp, isString, isUndefined, isTypedArray, join, kebabCase,
last, lastIndexOf, lt, lte, max, min, noConflict, noop,
now, pad, padLeft, padRight, parseInt, pop, random, reduce,
reduceRight, repeat, result, round, runInContext, shift, size,
snakeCase, some, sortedIndex, sortedLastIndex, startCase,
startsWith, sum, template, trim, trimLeft, trimRight, trunc,
unescape, uniqueId, value, and words
The wrapper method sample will return a wrapped value when n is provided,
otherwise an unwrapped value is returned.
Arguments
- value(*): The value to wrap in a- lodashinstance.
Returns
(Object):  Returns the new lodash wrapper instance.
Example
var wrapped = _([1, 2, 3]);
// returns an unwrapped value
wrapped.reduce(function(total, n) {
return total + n;
});
// => 6
// returns a wrapped value
var squares = wrapped.map(function(n) {
return n * n;
});
_.isArray(squares);
// => false
_.isArray(squares.value());
// => true
_.chain(value)
Creates a lodash object that wraps value with explicit method
chaining enabled.
Arguments
- value(*): The value to wrap.
Returns
(Object):  Returns the new lodash wrapper instance.
Example
var users = [
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 },
{ 'user': 'pebbles', 'age': 1 }
];
var youngest = _.chain(users)
.sortBy('age')
.map(function(chr) {
return chr.user + ' is ' + chr.age;
})
.first()
.value();
// => 'pebbles is 1'
_.tap(value, interceptor, [thisArg])
This method invokes interceptor and returns value. The interceptor is
bound to thisArg and invoked with one argument; (value). The purpose of
this method is to “tap into” a method chain in order to perform operations
on intermediate results within the chain.
Arguments
- value(*): The value to provide to- interceptor.
- interceptor(Function): The function to invoke.
- [thisArg](*): The- thisbinding of- interceptor.
Returns
(*):  Returns value.
Example
_([1, 2, 3])
.tap(function(array) {
array.pop();
})
.reverse()
.value();
// => [2, 1]
_.thru(value, interceptor, [thisArg])
This method is like _.tap except that it returns the result of interceptor.
Arguments
- value(*): The value to provide to- interceptor.
- interceptor(Function): The function to invoke.
- [thisArg](*): The- thisbinding of- interceptor.
Returns
(*):  Returns the result of interceptor.
Example
_(' abc ')
.chain()
.trim()
.thru(function(value) {
return [value];
})
.value();
// => ['abc']
_.prototype.chain()
Enables explicit method chaining on the wrapper object.
Returns
(Object):  Returns the new lodash wrapper instance.
Example
var users = [
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fred', 'age': 40 }
];
// without explicit chaining
_(users).first();
// => { 'user': 'barney', 'age': 36 }
// with explicit chaining
_(users).chain()
.first()
.pick('user')
.value();
// => { 'user': 'barney' }
_.prototype.commit()
Executes the chained sequence and returns the wrapped result.
Returns
(Object):  Returns the new lodash wrapper instance.
Example
var array = [1, 2];
var wrapped = _(array).push(3);
console.log(array);
// => [1, 2]
wrapped = wrapped.commit();
console.log(array);
// => [1, 2, 3]
wrapped.last();
// => 3
console.log(array);
// => [1, 2, 3]
_.prototype.concat([values])
Creates a new array joining a wrapped array with any additional arrays and/or values.
Arguments
- [values](…*): The values to concatenate.
Returns
(Array): Returns the new concatenated array.
Example
var array = [1];
var wrapped = _(array).concat(2, [3], [[4]]);
console.log(wrapped.value());
// => [1, 2, 3, [4]]
console.log(array);
// => [1]
_.prototype.plant()
Creates a clone of the chained sequence planting value as the wrapped value.
Returns
(Object):  Returns the new lodash wrapper instance.
Example
var array = [1, 2];
var wrapped = _(array).map(function(value) {
return Math.pow(value, 2);
});
var other = [3, 4];
var otherWrapped = wrapped.plant(other);
otherWrapped.value();
// => [9, 16]
wrapped.value();
// => [1, 4]
_.prototype.reverse()
Reverses the wrapped array so the first element becomes the last, the
second element becomes the second to last, and so on.
Note: This method mutates the wrapped array.
Returns
(Object):  Returns the new reversed lodash wrapper instance.
Example
var array = [1, 2, 3];
_(array).reverse().value()
// => [3, 2, 1]
console.log(array);
// => [3, 2, 1]
_.prototype.toString()
Produces the result of coercing the unwrapped value to a string.
Returns
(string): Returns the coerced string value.
Example
_([1, 2, 3]).toString();
// => '1,2,3'
_.prototype.value()
Executes the chained sequence to extract the unwrapped value.
Aliases
.prototype.run, .prototype.toJSON, _.prototype.valueOf
Returns
(*): Returns the resolved unwrapped value.
Example
_([1, 2, 3]).value();
// => [1, 2, 3]
 我的书签
 我的书签
                                 添加书签
 添加书签 移除书签
 移除书签