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, })