©
本文档使用
php中文网手册 发布
尝试调用func,返回结果或捕获的错误对象。func调用时会提供任何其他参数。
3.0.0
func (功能):尝试的功能。
[args] (... *):用来调用的参数func。
(*):返回func结果或错误对象。
// Avoid throwing errors for invalid selectors.
var elements = _.attempt(function(selector) { return document.querySelectorAll(selector);}, '>_>');
if (_.isError(elements)) {
elements = [];}将对象的方法绑定到对象本身,覆盖现有的方法。
注意:此方法不会设置绑定函数的“length”属性。
0.1.0
object (Object):绑定的对象并将绑定的方法分配给。
methodNames (...(string | string [])):要绑定的对象方法名称。
(对象):返回object。
var view = { 'label': 'docs', 'click': function() {
console.log('clicked ' + this.label); }};
_.bindAll(view, ['click']);jQuery(element).on('click', view.click);// => Logs 'clicked docs' when clicked.创建一个迭代pairs并调用第一个谓词的相应函数来返回truthy的函数。谓词函数对this通过创建的函数的绑定和参数来调用。
4.0.0
pairs (数组):谓词函数对。
(功能):返回新的复合功能。
var func = _.cond([ [_.matches({ 'a': 1 }),
_.constant('matches A')], [_.conforms({ 'b': _.isNumber }),
_.constant('matches B')], [_.stubTrue,_.constant('no match')]]);
func({ 'a': 1, 'b': 2 });
// => 'matches A' func({ 'a': 0, 'b': 1 });
// => 'matches B' func({ 'a': '1', 'b': '2' });
// => 'no match'创建一个函数,该函数source使用给定对象的相应属性值调用谓词属性,true如果所有谓词都返回truthy,则返回else false。
注意:所创建的功能相当于_.conformsTo 与source部分地施加。
4.0.0
source (Object):属性谓词符合的对象。
(功能):返回新的规格功能。
var objects = [ { 'a': 2, 'b': 1 }, { 'a': 1, 'b': 2 }];
_.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));
// => [{ 'a': 1, 'b': 2 }]创建一个返回的函数value。
2.4.0
value (*):从新函数返回的值。
(函数):返回新的常量函数。
var objects = _.times(2, _.constant({ 'a': 1 }));
console.log(objects);// => [{ 'a': 1 }, { 'a': 1 }]
console.log(objects[0] === objects[1]);// => true检查value以确定是否应该在其位置返回默认值。将defaultValue 返回如果value是NaN,null或undefined。
4.14.0
value (*):要检查的值。
defaultValue (*):默认值。
(*):返回已解析的值。
_.defaultTo(1, 10);// => 1 _.defaultTo(undefined, 10);// => 10
创建一个函数,该函数返回调用给定函数的结果this并创建函数的绑定,其中每个连续调用都提供前一个函数的返回值。
3.0.0
[funcs] (...(Function | Function [])):要调用的函数。
(功能):返回新的复合功能。
function square(n) { return n * n;}
var addSquare = _.flow([_.add, square]);
addSquare(1, 2);// => 9这个方法就像_.flow是它创建一个从右到左调用给定函数的函数。
3.0.0
[funcs] (...(Function | Function [])):要调用的函数。
(功能):返回新的复合功能。
function square(n) { return n * n;}
var addSquare = _.flowRight([square, _.add]);
addSquare(1, 2);// => 9这个方法返回它接收到的第一个参数。
0.1.0
value (*):任何值。
(*):返回value。
var object = { 'a': 1 };
console.log(_.identity(object) === object);// => true创建一个调用func所创建函数的参数的函数。如果func是属性名称,则创建的函数将返回给定元素的属性值。如果func是数组或对象,则创建的函数将返回true包含等效源属性的元素,否则返回false。
4.0.0
[func=_.identity] (*):转换为回调的值。
(功能):返回回调。
var users = [ { 'user': 'barney', 'age': 36, 'active': true }, { 'user': 'fred', 'age': 40, 'active': false }];
// The `_.matches` iteratee shorthand.
_.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));
// => [{ 'user': 'barney', 'age': 36, 'active': true }]
// The `_.matchesProperty` iteratee shorthand.
_.filter(users, _.iteratee(['user', 'fred']));
// => [{ 'user': 'fred', 'age': 40 }]
// The `_.property` iteratee shorthand.
_.map(users, _.iteratee('user'));// => ['barney', 'fred']
// Create custom iteratee shorthands.
_.iteratee = _.wrap(_.iteratee, function(iteratee, func) { return !_.isRegExp(func) ? iteratee(func) :
function(string) { return func.test(string); };});
_.filter(['abc', 'def'], /ef/);// => ['def']创建一个函数,用于在给定对象之间执行部分深层比较source, true如果给定对象具有等效属性值,则返回其他值 false。
注意:所创建的功能相当于_.isMatch 与source部分地施加。
部分比较将分别将空数组和空对象source值与任何数组或对象值匹配 。请参阅_.isEqual支持的值比较列表。
3.0.0
source (Object):要匹配的属性值的对象。
(功能):返回新的规格功能。
var objects = [ { 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }];
_.filter(objects, _.matches({ 'a': 4, 'c': 6 }));// => [{ 'a': 4, 'b': 5, 'c': 6 }]创建一个函数,用于在path给定对象的at值处执行部分深层比较srcValue,true如果对象值相等,则返回else false。
注:部分比较将分别将空数组和空对象srcValue 值与任何数组或对象值匹配。请参阅_.isEqual支持的值比较列表。
3.2.0
path (Array | string):要获取的属性的路径。
srcValue (*):要匹配的值。
(功能):返回新的规格功能。
var objects = [ { 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }];
_.find(objects, _.matchesProperty('a', 4));// => { 'a': 4, 'b': 5, 'c': 6 }创建一个调用path给定对象的方法的函数。任何额外的参数被提供给被调用的方法。
3.7.0
path (Array | string):要调用的方法的路径。
[args] (... *):用来调用方法的参数。
(函数):返回新的调用函数。
var objects = [ { 'a': { 'b': _.constant(2) } }, { 'a': { 'b': _.constant(1) } }];
_.map(objects, _.method('a.b'));// => [2, 1]
_.map(objects, _.method(['a', 'b']));// => [2, 1]与之相反_.method; 这个方法创建一个函数调用给定路径的方法object。任何额外的参数被提供给被调用的方法。
3.7.0
object (Object):要查询的对象。
[args] (... *):用来调用方法的参数。
(函数):返回新的调用函数。
var array = _.times(3, _.constant),
object = { 'a': array, 'b': array, 'c': array };
_.map(['a[2]', 'c[0]'], _.methodOf(object));// => [2, 0]
_.map([['a', '2'], ['c', '0']], _.methodOf(object));// => [2, 0]将源对象的所有可枚举字符串键控函数属性添加到目标对象。如果object 是一个函数,那么方法也会添加到它的原型中。
注意:使用_.runInContext创造一个纯净的lodash功能,以避免因修改原始的冲突。
0.1.0
[object=lodash] (函数|对象):目标对象。
source (Object):要添加的函数的对象。
[options={}] (对象):选项对象。
[options.chain=true] (boolean):指定mixin是否可链接。
(*):返回object。
function vowels(string) { return _.filter(string, function(v) { return /[aeiou]/i.test(v); });}
_.mixin({ 'vowels': vowels });_.vowels('fred');// => ['e'] _('fred').vowels().value();// => ['e']
_.mixin({ 'vowels': vowels }, { 'chain': false });_('fred').vowels();// => ['e']将_变量恢复为其先前的值并返回对该lodash 函数的引用。
0.1.0
(功能):返回lodash功能。
var lodash = _.noConflict();
此方法返回undefined。
2.3.0
_.times(2, _.noop);// => [undefined, undefined]
创建一个在索引处获取参数的函数n。如果n是负数,则返回从结尾开始的第n个参数。
4.0.0
[n=0] (数字):返回参数的索引。
(功能):返回新的传递函数。
var func = _.nthArg(1);func('a', 'b', 'c', 'd');// => 'b' var func = _.nthArg(-2);func('a', 'b', 'c', 'd');// => 'c'创建一个函数,iteratees用它接收的参数调用并返回它们的结果。
4.0.0
[iteratees=[_.identity]] (...(Function | Function [])):要调用的迭代。
(功能):返回新功能。
var func = _.over([Math.max, Math.min]); func(1, 2, 3, 4);// => [4, 1]
如果创建一个检查函数所有的的predicates时候用它接收到的参数调用返回truthy。
4.0.0
[predicates=[_.identity]] (...(Function | Function [])):要检查的谓词。
(功能):返回新功能。
var func = _.overEvery([Boolean, isFinite]); func('1');// => true func(null);// => false func(NaN);// => false如果创建一个检查功能的任何的的predicates时候用它接收到的参数调用返回truthy。
4.0.0
[predicates=[_.identity]] (...(Function | Function [])):要检查的谓词。
(功能):返回新功能。
var func = _.overSome([Boolean, isFinite]); func('1');// => true func(null);// => true func(NaN);// => false创建一个返回path给定对象的值的函数。
2.4.0
path (Array | string):要获取的属性的路径。
(函数):返回新的存取函数。
var objects = [ { 'a': { 'b': 2 } }, { 'a': { 'b': 1 } }];
_.map(objects, _.property('a.b'));// => [2, 1]
_.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');// => [1, 2]与之相反_.property; 这个方法创建一个函数,返回给定路径的值object。
3.0.0
object (Object):要查询的对象。
(函数):返回新的存取函数。
var array = [0, 1, 2],
object = { 'a': array, 'b': array, 'c': array };
_.map(['a[2]', 'c[0]'], _.propertyOf(object));// => [2, 0]
_.map([['a', '2'], ['c', '0']], _.propertyOf(object));// => [2, 0]创建一个从最高到但不包括的数字(正数和/或负数)。如果在没有or的情况下指定否定,则使用步骤。如果未指定,则设置为, 然后设置为。startend-1startendstependstartstart0
注意: JavaScript遵循IEEE-754标准来解决可能产生意外结果的浮点值。
0.1.0
[start=0] (数字):范围的开始。
end (数字):范围的结尾。
[step=1] (数字):通过增加或减少的值。
(数组):返回数字的范围。
_.range(4);// => [0, 1, 2, 3] _.range(-4);// => [0, -1, -2, -3] _.range(1, 5);// => [1, 2, 3, 4] _.range(0, 20, 5);// => [0, 5, 10, 15] _.range(0, -4, -1);// => [0, -1, -2, -3] _.range(1, 4, 0);// => [1, 1, 1] _.range(0);// => []
这种方法就像_.range它以降序的方式填充值。
4.0.0
[start=0] (数字):范围的开始。
end (数字):范围的结尾。
[step=1] (数字):通过增加或减少的值。
(数组):返回数字的范围。
_.rangeRight(4);// => [3, 2, 1, 0] _.rangeRight(-4);// => [-3, -2, -1, 0] _.rangeRight(1, 5);// => [4, 3, 2, 1] _.rangeRight(0, 20, 5);// => [15, 10, 5, 0] _.rangeRight(0, -4, -1);// => [-3, -2, -1, 0] _.rangeRight(1, 4, 0);// => [1, 1, 1] _.rangeRight(0);// => []
lodash使用该context对象创建一个新的原始功能。
1.1.0
[context=root] (Object):上下文对象。
(功能):返回一个新lodash功能。
_.mixin({ 'foo': _.constant('foo') });
var lodash = _.runInContext();lodash.mixin({ 'bar': lodash.constant('bar') });
_.isFunction(_.foo);// => true_.isFunction(_.bar);// => false
lodash.isFunction(lodash.foo);
// => falselodash.isFunction(lodash.bar);
// => true
// Create a suped-up `defer` in Node.js.var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;此方法返回一个新的空数组。
4.13.0
(数组):返回新的空数组。
var arrays = _.times(2, _.stubArray); console.log(arrays);// => [[], []] console.log(arrays[0] === arrays[1]);// => false
此方法返回false。
4.13.0
(布尔):返回false。
_.times(2, _.stubFalse);// => [false, false]
此方法返回一个新的空对象。
4.13.0
(Object):返回新的空对象。
var objects = _.times(2, _.stubObject);
console.log(objects);// => [{}, {}]
console.log(objects[0] === objects[1]);// => false这个方法返回一个空字符串。
4.13.0
(字符串):返回空字符串。
_.times(2, _.stubString);// => ['', '']
此方法返回true。
4.13.0
(布尔):返回true。
_.times(2, _.stubTrue);// => [true, true]
调用迭代n次数,返回每个调用结果的数组。迭代器被调用一个参数; (指数)。
0.1.0
n (数字):调用的次数iteratee。
[iteratee=_.identity] (Function):每次迭代调用的函数。
(数组):返回结果数组。
_.times(3, String);// => ['0', '1', '2'] _.times(4, _.constant(0));// => [0, 0, 0, 0]
转换value为属性路径数组。
4.0.0
value (*):要转换的值。
(Array):返回新的属性路径数组。
_.toPath('a.b.c');// => ['a', 'b', 'c']
_.toPath('a[0].b.c');// => ['a', '0', 'b', 'c']生成一个唯一的ID。如果prefix给出,则ID附加到它。
0.1.0
[prefix=''] (字符串):用ID作为ID前缀的值。
(字符串):返回唯一的ID。
_.uniqueId('contact_');// => 'contact_104'
_.uniqueId();// => '105'