lodash常用方法合集
2021-04-29 本文已影响0人
六寸光阴丶
集合
1 _.map(collection, [iteratee=_.identity])
1.1 定义
创建一个数组, value(值) 是 iteratee(迭代函数)遍历 collection(集合)中的每个元素后返回的结果。 iteratee(迭代函数)调用3个参数:
(value, index|key, collection).
1.2 参数
- collection (Array|Object): 用来迭代的集合。
- [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 参数
-
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 参数
-
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 参数
- object (Object): 来源对象。
- [props] (...(string|string[])): 要被忽略的属性。(注:单独指定或指定在数组中。)
1.3 返回
(Object): 返回新对象。
1.4 例子
var object = { 'a': 1, 'b': '2', 'c': 3 };
_.pick(object, ['a', 'c']);
// => { 'a': 1, 'c': 3 }