lodash常用方法合集

集合

1 _.map(collection, [iteratee=_.identity])

1.1 定义

创建一个数组, value(值) 是 iteratee(迭代函数)遍历 collection(集合)中的每个元素后返回的结果。 iteratee(迭代函数)调用3个参数:
(value, index|key, collection).

1.2 参数
  1. collection (Array|Object): 用来迭代的集合。
  2. [iteratee=_.identity] (Array|Function|Object|string): 每次迭代调用的函数。
    1.3 返回
    (Array): 返回新的映射后数组。
    1.4 例子
function square(n) {
  return n * n;
}
 
_.map([4, 8], square);
// => [16, 64]
 
_.map({ 'a': 4, 'b': 8 }, square);
// => [16, 64] (iteration order is not guaranteed)
 
var users = [
  { 'user': 'barney' },
  { 'user': 'fred' }
];
 
// The `_.property` iteratee shorthand.
_.map(users, 'user');
// => ['barney', 'fred']

语言

1 _.clone(value)

1.1 定义

创建一个value的浅拷贝

1.2 参数
  1. value(*):要拷贝的值
1.3 返回

(*):返回拷贝后的值

1.4 例子
var objects = [{ 'a': 1 }, { 'b': 2 }];
 
var shallow = _.clone(objects);
console.log(shallow[0] === objects[0]);
// => true

2 _.cloneDeep(value)

2.1 定义

这个方法类似_.clone,除了它会递归拷贝 value。(注:也叫深拷贝)。

2.2 参数
  1. value(*):要拷贝的值
2.3 返回

(*):返回拷贝后的值

2.4 例子
var objects = [{ 'a': 1 }, { 'b': 2 }];
 
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false

对象

1. _.pick(object, [props])

1.1 定义

创建一个从 object 中选中的属性的对象。

1.2 参数
  1. object (Object): 来源对象。
  2. [props] (...(string|string[])): 要被忽略的属性。(注:单独指定或指定在数组中。)
1.3 返回

(Object): 返回新对象。

1.4 例子
var object = { 'a': 1, 'b': '2', 'c': 3 };
 
_.pick(object, ['a', 'c']);
// => { 'a': 1, 'c': 3 }

推荐阅读更多精彩内容