lodash常用属性

1.get方法(获取对象、数组值)

普通写法:

log[0].value.name

使用lodash:

get(log[0], 'value.name')

优点:当log[0]为null时,普通方法会报错,lodash方法会返回空,lodash更安全

get(log[0], 'value.name','')

第三个参数还可以设置默认值

2.isEmpty判断是否为空对象

_.isEmpty({ 'a': 1 });

3.pick创建一个从该对象选中属性组成的对象

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

4.isEqual深比较数组、对象是否相等

var object = { 'a': 1 };
var other = { 'a': 1 };
 
_.isEqual(object, other);
// => true

5.omit对象某些属性之外的组成新对象

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

6.intersection返回一个包含所有传入数组交集元素的新数组。

_.intersection([2, 1], [4, 2], [1, 2]);
// => [2]

7.debounce防抖

8.filter过滤

var users = [
  { 'user': 'barney', 'age': 36, 'active': true },
  { 'user': 'fred',   'age': 40, 'active': false }
];
 
_.filter(users, function(o) { return !o.active; });
// => objects for ['fred']
 
// The `_.matches` iteratee shorthand.
_.filter(users, { 'age': 36, 'active': true });
// => objects for ['barney']
 
// The `_.matchesProperty` iteratee shorthand.
_.filter(users, ['active', false]);
// => objects for ['fred']
 
// The `_.property` iteratee shorthand.
_.filter(users, 'active');
// => objects for ['barney']

9.compact返回过滤掉假值的新数组。

_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]

10.pickBy过滤对象属性值为空的属性

let fieldsValue = {
   name:'',
    age:18
}
let values = pickBy({
     ...fieldsValue,
 })
原文地址:https://www.cnblogs.com/kaiqinzhang/p/13435131.html