Lodash 或 Underscore——pick、pickBy、omit、omitBy
Javascript无处不在。 Javascript被广泛使用,它不仅限于您的网络浏览器,还广泛用于服务器端。 95% 的网站都使用 JavaScript。
Lodash 或 Underscore 使 Javascript 编码变得更加容易,也使我们的代码最小化,它适用于数组、数字、对象、字符串等。
我们基本上可以将 Lodash 与任何基于 JS 的库或框架一起使用,例如 w/Angular、React、VueJs、Node.Js、Vanilla JS 等。
Lodash 的模块化方法非常适合:
- 迭代数组、对象和字符串
- 操作和测试值
- 创建复合函数
让我们通过非常基本和最常用的 Lodash 方法来简化我们的日常生活并提高代码的可读性。
1. 挑选
2.挑选
3.省略
4.省略等等..
Pick和Omit是相反的,正如名称所描述的, omit用于根据我们的需要从对象中省略/排除参数,另一方面, pick用于选择/包含定义的元素。
例子:
let geeksforgeeks = {
"name" : "geeksforgeeks",
"location" : "NCR",
"vacancies" : null,
"amenities" : ['free_breakfast','health_insurance'],
"interview_process" : ["DSA","Technical","HR"]
};
现在,只从您的对象中获取有效值,即除了 null 和 undefined
/* now validGFG object contains only
valid (!null & !undefined) key-value pairs. */
let validGFG = _.pickBy(geeksforgeeks,
v => !_.isUndefined(v) && !_.isNull(v));
要从我们的validGFG对象中获取除一些之外的所有键值对,我们可以简单地这样做:
// this object contains all key-value pairs except amenities.
let geeksInfoExceptAmenities = _.omit(validGFG, ['amenities']);
我们可以进一步消除所有数组/字符串/数字/等。从我们的对象,
/* this object will contain only name & location just
because we omitted all the array type from our object. */
let geeksInfoExceptInsideArrays = _.omitBy(validGFG, _.isArray);
要获取一些特定的键值对,
// this object contains name & location only.
let geeksNameAndLocation = _.pick(validGFG, ['name','location']);
我们可以使用上述函数的多种组合并更轻松地处理我们的数组、对象等等。
更多信息,您可以浏览 Lodash 的文档。