学习笔记:_lodash.js常用函数2

_.pick(object, [props])

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

示例:

var object = { 'a': 1, 'b': '2', 'c': 3 };

_.pick(object, ['a', 'c']);
// => { 'a': 1, 'c': 3 }

_.cloneDeep(value)

深拷贝value

示例:

var objects = [{ 'a': 1 }, { 'b': 2 }];

var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false

_.filter(collection, [predicate=_.identity])

遍历集合中的元素,筛选出一个经过predicate检查结果为真值的数组,predicate会传入3个参数:(value, index|key, collection)

示例:

var resolve = _.partial(_.map, _, 'user');

var users = [
  { 'user': 'barney', 'age': 36, 'active': true },
  { 'user': 'fred',   'age': 40, 'active': false }
];

resolve( _.filter(users, function(o) { return !o.active; }) );
// => ['fred']

// 使用了 `_.matches` 的回调结果
resolve( _.filter(users, { 'age': 36, 'active': true }) );
// => ['barney']

// 使用了 `_.matchesProperty` 的回调结果
resolve( _.filter(users, ['active', false]) );
// => ['fred']

// 使用了 `_.property` 的回调结果
resolve( _.filter(users, 'active') );
// => ['barney']

_.partial(func, [partials])

创建一个函数。该函数调用func,并传入预设的参数,默认以_作为附加部分参数的占位符。

示例:

var greet = function(greeting, name) {
  return greeting + ' ' + name;
};

var sayHelloTo = _.partial(greet, 'hello');
sayHelloTo('fred');
// => 'hello fred'

// 使用了占位符
var greetFred = _.partial(greet, _, 'fred');
greetFred('hi');
// => 'hi fred'

_.get(object, path, [defaultValue])

根据对象路径获取值。如果解析value是undefined会以defaultValue取代

示例:

var object = { 'a': [{ 'b': { 'c': 3 } }] };

_.get(object, 'a[0].b.c');
// => 3

_.get(object, ['a', '0', 'b', 'c']);
// => 3

_.get(object, 'a.b.c', 'default');
// => 'default'

_isObject(value)

检查value是否是object的类型(包括arrays, functions, objects, regexes, new Number(0),new String(''))

示例:

_.isObject({});
// => true

_.isObject([1, 2, 3]);
// => true

_.isObject(_.noop);
// => true

_.isObject(null);
// => false

_.isObjectLike(value)

检查value是否是类对象。类对象是指typeof结果为“object”的对象,除了null

示例:

_.isObjectLike({});
// => true

_.isObjectLike([1, 2, 3]);
// => true

_.isObjectLike(_.noop);
// => false

_.isObjectLike(null);
// => false

_.isArray(value)

检查value是否是Array类对象

示例:

_.isArray([1, 2, 3]);
// => true

_.isArray(document.body.children);
// => false

_.isArray('abc');
// => false

_.isArray(_.noop);
// => false

_.isArrayLike(value)

检查value是否是类数组。类数组不能是一个函数,并且value.length是个大于等于0、小于等于Number.MAX_SAFE_INTEGER的整数

目前我知道的类数组有HTMLCollection、NodeList、arguments

示例:

_.isArrayLike([1, 2, 3]);
// => true

_.isArrayLike(document.body.children);
// => true

_.isArrayLike('abc');
// => true

_.isArrayLike(_.noop);
// => false
原文地址:https://www.cnblogs.com/cathy1024/p/11002450.html