uniqueId

最后更新于:2022-04-02 00:09:04

## uniqueId + [link](./uniqueId "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13828 "View in source.") + [npm](https://www.npmjs.com/package/lodash.uniqueid "See the npm package.") ``` _.uniqueId([prefix]) ``` 创建唯一ID。 如果提供了 `prefix`,会被添加到ID前缀上。 ### 参数 1. [prefix] (string) 要添加到ID前缀的值 ### 返回值 (string) 返回唯一ID ### 示例 ``` _.uniqueId('contact_'); // => 'contact_104' _.uniqueId(); // => '105' ```
';

toPath

最后更新于:2022-04-02 00:09:02

## toPath + [link](./toPath "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13807 "View in source.") + [npm](https://www.npmjs.com/package/lodash.topath "See the npm package.") ``` _.toPath(value) ``` 创建 `value` 为属性路径的数组 ### 参数 1. value (\*) 要转换的值 ### 返回值 (Array) 返回包含属性路径的数组 ### 示例 ``` _.toPath('a.b.c'); // => ['a', 'b', 'c'] _.toPath('a[0].b.c'); // => ['a', '0', 'b', 'c'] var path = ['a', 'b', 'c'], newPath = _.toPath(path); console.log(newPath); // => ['a', 'b', 'c'] console.log(path === newPath); // => false ```
';

times

最后更新于:2022-04-02 00:09:00

## times + [link](./times "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13764 "View in source.") + [npm](https://www.npmjs.com/package/lodash.times "See the npm package.") ``` _.times(n, [iteratee=_.identity]) ``` 调用 iteratee N 次,每次调用返回的结果存入到数组中。 iteratee 会传入1个参数:(index)。 ### 参数 1. n (number) 要调用 `iteratee` 的次数 2. [iteratee=_.identity] (Function) 这个函数会处理每一个元素 ### 返回值 (Array) 返回调用结果的数组 ### 示例 ``` _.times(3, String); // => ['0', '1', '2'] _.times(4, _.constant(true)); // => [true, true, true, true] ```
';

runInContext

最后更新于:2022-04-02 00:08:58

## runInContext + [link](./runInContext "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L1300 "View in source.") + [npm](https://www.npmjs.com/package/lodash.runincontext "See the npm package.") ``` _.runInContext([context=root]) ``` 创建一个给定上下文对象的原始的 `lodash` 函数。 ### 参数 1. [context=root] (Object) 上下文对象 ### 返回值 (Function) 返回新的 `lodash` 对象 ### 示例 ``` _.mixin({ 'foo': _.constant('foo') }); var lodash = _.runInContext(); lodash.mixin({ 'bar': lodash.constant('bar') }); _.isFunction(_.foo); // => true _.isFunction(_.bar); // => false lodash.isFunction(lodash.foo); // => false lodash.isFunction(lodash.bar); // => true // 使用 `context` 模拟 `Date#getTime` 调用 `_.now` var mock = _.runInContext({ 'Date': function() { return { 'getTime': getTimeMock }; } }); // 或者在 Node.js 中创建一个更高级的 `defer` var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; ```
';

rangeRight

最后更新于:2022-04-02 00:08:55

## rangeRight + [link](./rangeRight "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13744 "View in source.") + [npm](https://www.npmjs.com/package/lodash.rangeright "See the npm package.") ``` _.rangeRight([start=0], end, [step=1]) ``` 这个方法类似 `_.range`, 除了它是降序生成值的。 ### 参数 1. [start=0] (number) 开始的范围 2. end (number) 结束的范围 3. [step=1] (number) 范围的增量 或者 减量 ### 返回值 (Array) 返回范围内数字组成的新数组 ### 示例 ``` _.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); // => [] ```
';

range

最后更新于:2022-04-02 00:08:53

## range + [link](./range "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13708 "View in source.") + [npm](https://www.npmjs.com/package/lodash.range "See the npm package.") ``` _.range([start=0], end, [step=1]) ``` 创建一个包含从 `start` 到 `end`,但不包含 `end` 本身范围数字的数组。 如果 `start` 是负数,而 `end` 或 `step` 没有指定,那么 `step` 从 `-1` 为开始。 如果 `end` 没有指定,`start` 设置为 `0`。 如果 `end` 小于 `start`,会创建一个空数组,除非指定了 `step`。 **注意:** JavaScript 遵循 IEEE-754 标准处理无法预料的浮点数结果。 ### 参数 1. [start=0] (number) 开始的范围 2. end (number) 结束的范围 3. [step=1] (number) 范围的增量 或者 减量 ### 返回值 (Array) 返回范围内数字组成的新数组 ### 示例 ``` _.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); // => [] ```
';

propertyOf

最后更新于:2022-04-02 00:08:51

## propertyOf + [link](./propertyOf "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13664 "View in source.") + [npm](https://www.npmjs.com/package/lodash.propertyof "See the npm package.") ``` _.propertyOf(object) ``` 反向版 `_.property`。 这个方法创建的函数返回给定 path 在对象上的值。 ### 参数 1. object (Object) 要检索的对象 ### 返回值 (Function) 返回新的函数 ### 示例 ``` 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] ```
';

property

最后更新于:2022-04-02 00:08:48

## property + [link](./property "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13640 "View in source.") + [npm](https://www.npmjs.com/package/lodash.property "See the npm package.") ``` _.property(path) ``` 创建一个返回给定对象的 `path` 的值的函数。 ### 参数 1. path (Array|string) 要得到值的属性路径 ### 返回值 (Function) 返回新的函数 ### 示例 ``` var objects = [ { 'a': { 'b': { 'c': 2 } } }, { 'a': { 'b': { 'c': 1 } } } ]; _.map(objects, _.property('a.b.c')); // => [2, 1] _.map(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c'); // => [1, 2] ```
';

overSome

最后更新于:2022-04-02 00:08:46

## overSome + [link](./overSome "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13617 "View in source.") + [npm](https://www.npmjs.com/package/lodash.oversome "See the npm package.") ``` _.overSome(predicates) ``` 创建一个传入提供的参数的函数并调用 `iteratees` 判断是否 存在 有真值的函数。 ### 参数 1. predicates (...(Function|Function[]) 要调用的 predicates ### 返回值 (Function) 返回新的函数 ### 示例 ``` var func = _.overSome(Boolean, isFinite); func('1'); // => true func(null); // => true func(NaN); // => false ```
';

overEvery

最后更新于:2022-04-02 00:08:44

## overEvery + [link](./overEvery "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13594 "View in source.") + [npm](https://www.npmjs.com/package/lodash.overevery "See the npm package.") ``` _.overEvery(predicates) ``` 创建一个传入提供的参数的函数并调用 `iteratees` 判断是否 全部 都为真值的函数。 ### 参数 1. predicates (...(Function|Function[]) 要调用的 predicates ### 返回值 (Function) 返回新的函数 ### 示例 ``` var func = _.overEvery(Boolean, isFinite); func('1'); // => true func(null); // => false func(NaN); // => false ```
';

over

最后更新于:2022-04-02 00:08:42

## over + [link](./over "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13571 "View in source.") + [npm](https://www.npmjs.com/package/lodash.over "See the npm package.") ``` _.over(iteratees) ``` 创建一个传入提供的参数的函数并调用 `iteratees` 返回结果的函数。 ### 参数 1. iteratees (...(Function|Function[]) 要调用的 iteratees ### 返回值 (Function) 返回新的函数 ### 示例 ``` var func = _.over(Math.max, Math.min); func(1, 2, 3, 4); // => [4, 1] ```
';

nthArg

最后更新于:2022-04-02 00:08:39

## nthArg + [link](./nthArg "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13549 "View in source.") + [npm](https://www.npmjs.com/package/lodash.ntharg "See the npm package.") ``` _.nthArg([n=0]) ``` 创建一个返回第 N 个参数的函数。 ### 参数 1. [n=0] (number) 要返回参数的索引 ### 返回值 (Function) 返回新的函数 ### 示例 ``` var func = _.nthArg(1); func('a', 'b', 'c'); // => 'b' ```
';

noop

最后更新于:2022-04-02 00:08:37

## noop + [link](./noop "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13530 "View in source.") + [npm](https://www.npmjs.com/package/lodash.noop "See the npm package.") ``` _.noop() ``` 无论传递什么参数,都返回 `undefined`。 ### 示例 ``` var object = { 'user': 'fred' }; _.noop(object) === undefined; // => true ```
';

noConflict

最后更新于:2022-04-02 00:08:35

## noConflict + [link](./noConflict "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13510 "View in source.") + [npm](https://www.npmjs.com/package/lodash.noconflict "See the npm package.") ``` _.noConflict() ``` 释放 `_` 为原来的值,并返回一个 `lodash` 的引用 ### 返回值 (Function) 返回 `lodash` 函数 ### 示例 ``` var lodash = _.noConflict(); ```
';

mixin

最后更新于:2022-04-02 00:08:32

## mixin + [link](./mixin "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13464 "View in source.") + [npm](https://www.npmjs.com/package/lodash.mixin "See the npm package.") ``` _.mixin([object=lodash], source, [options]) ``` 添加来源对象自身的所有可枚举函数属性到目标对象。 如果 `object` 是个函数,那么函数方法将被添加到原型链上。 **注意:** 使用 `_.runInContext` 来创建原始的 `lodash` 函数来避免修改造成的冲突。 ### 参数 1. [object=lodash] (Function|Object) 目标对象 2. source (Object) 来源对象 3. [options] (Object) 选项对象 4. [options.chain=true] (boolean) 是否开启链式操作 ### 返回值 (Function|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'] ```
';

methodOf

最后更新于:2022-04-02 00:08:30

## methodOf + [link](./methodOf "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13425 "View in source.") + [npm](https://www.npmjs.com/package/lodash.methodof "See the npm package.") ``` _.methodOf(object, [args]) ``` 反向版 `_.method`。 这个创建一个函数调用给定 `object` 的 `path` 上的方法, 任何附加的参数都会传入这个调用函数中。 ### 参数 1. object (Object) 要检索的对象 2. [args] (...*) 传递给调用函数的参数 ### 返回值 (Function) 返回新的函数 ### 示例 ``` 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] ```
';

method

最后更新于:2022-04-02 00:08:28

## method + [link](./method "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13397 "View in source.") + [npm](https://www.npmjs.com/package/lodash.method "See the npm package.") ``` _.method(path, [args]) ``` 创建一个调用给定对象 `path` 上的函数。 任何附加的参数都会传入这个调用函数中。 ### 参数 1. path (Array|string) 调用函数所在对象的路径 2. [args] (...*) 传递给调用函数的参数 ### 返回值 (Function) 返回新的函数 ### 示例 ``` var objects = [ { 'a': { 'b': { 'c': _.constant(2) } } }, { 'a': { 'b': { 'c': _.constant(1) } } } ]; _.map(objects, _.method('a.b.c')); // => [2, 1] _.invokeMap(_.sortBy(objects, _.method(['a', 'b', 'c'])), 'a.b.c'); // => [1, 2] ```
';

matchesProperty

最后更新于:2022-04-02 00:08:26

## matchesProperty + [link](./matchesProperty "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13370 "View in source.") + [npm](https://www.npmjs.com/package/lodash.matchesproperty "See the npm package.") ``` _.matchesProperty(path, srcValue) ``` 创建一个深比较的方法来比较给定对象的 `path` 的值是否是 `srcValue`。 如果是返回 `true`,否则返回 `false` **注意:** 这个方法支持以 `_.isEqual` 的方式比较相同的值。 ### 参数 1. path (Array|string) 给定对象的属性路径名 2. srcValue (\*) 要匹配的值 ### 返回值 (Function) 返回新的函数 ### 示例 ``` var users = [ { 'user': 'barney' }, { 'user': 'fred' } ]; _.find(users, _.matchesProperty('user', 'fred')); // => { 'user': 'fred' } ```
';

matches

最后更新于:2022-04-02 00:08:23

## matches + [link](./matches "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13344 "View in source.") + [npm](https://www.npmjs.com/package/lodash.matches "See the npm package.") ``` _.matches(source) ``` 创建一个深比较的方法来比较给定的对象和 `source` 对象。 如果给定的对象拥有相同的属性值返回 `true`,否则返回 `false` **注意:** 这个方法支持以 `_.isEqual` 的方式比较相同的值。 ### 参数 1. source (Object) 要匹配的源对象 ### 返回值 (Function) 返回新的函数 ### 示例 ``` var users = [ { 'user': 'barney', 'age': 36, 'active': true }, { 'user': 'fred', 'age': 40, 'active': false } ]; _.filter(users, _.matches({ 'age': 40, 'active': false })); // => [{ 'user': 'fred', 'age': 40, 'active': false }] ```
';

iteratee

最后更新于:2022-04-02 00:08:21

## iteratee + [link](./iteratee "Link to this entry.") + [source](https://github.com/lodash/lodash/blob/4.5.0正式版/lodash.src.js#L13319 "View in source.") + [npm](https://www.npmjs.com/package/lodash.iteratee "See the npm package.") ``` _.iteratee([func=_.identity]) ``` 创建一个调用 `func` 的函数。 如果 `func` 是一个属性名,传入包含这个属性名的对象,回调返回对应属性名的值。 如果 `func` 是一个对象,传入的元素有相同的对象属性,回调返回 `true`。 其他情况返回 `false`。 ### 参数 1. [func=_.identity] (\*) 转换成 callback 的值 ### 返回值 (Function) 返回 callback. ### 示例 ``` var users = [ { 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 } ]; // 创建一个自定义 iteratee _.iteratee = _.wrap(_.iteratee, function(callback, func) { var p = /^(\S+)\s*([<>])\s*(\S+)$/.exec(func); return !p ? callback(func) : function(object) { return (p[2] == '>' ? object[p[1]] > p[3] : object[p[1]] < p[3]); }; }); _.filter(users, 'age > 36'); // => [{ 'user': 'fred', 'age': 40 }] ```
';