首页 > 技术文章 > lodash中pick和omit函数介绍

chenyablog 原文

_.pick(object, [props])

参数

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

返回

(Object): 返回新对象。

例子

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

_.pickBy(object, [predicate=_.identity])

创建一个对象,这个对象组成为从 object 中经 predicate 判断为真值的属性。 predicate调用2个参数:(value, key)

参数

  1. object (Object): 来源对象。
  2. [predicate=_.identity] (Function): 调用每一个属性的函数。

返回

(Object): 返回新对象。

例子

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

_.omit(object, [props])

反向版 _.pick 这个方法一个对象,这个对象由忽略属性之外的object自身和继承的可枚举属性组成。(注:可以理解为删除object对象的属性)。

参数

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

返回

(Object): 返回新对象。

例子

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

_.omitBy(object, [predicate=_.identity])

反向版 _.pickBy 这个方法一个对象,这个对象忽略 predicate(断言函数)判断不是真值的属性后,object自身和继承的可枚举属性组成。predicate调用与2个参数:(value, key)

参数

  1. object (Object): 来源对象。
  2. [predicate=_.identity] (Function): 调用每一个属性的函数。

返回

(Object): 返回新对象。

例子

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

推荐阅读