在这篇文章中,我将结合实例讨论流行的javascript库Lodash。
了解Lodash框架
正如你所知道的那样,javascript在当今很流行,它被用来编写前端和后端层的代码。在开发过程中,如果有任何可重用的功能,我就会为对象的空值检查和普通的实用程序等写一个实用程序模块,可以在你所有的应用模块中重用。
由于各种原因,这是很耗时的--必须为每个实用程序编写代码,必须处理所有的边缘情况,如果浏览器和其他框架有任何变化,也必须维护这个模块。为了避免这些事情,我们必须使用现有的框架,如Lodash和Underscore库做同样的事情。
Lodash是一个用于普通实用功能的javascript库。这个库可以用于javascript/jquery应用程序和基于npm的应用程序,如angular、react和vueJs框架,Lodash在功能和性能方面比underscore库更强。它是一个用于操作字符串、数组和对象集合的实用库。它非常容易学习,并且非常容易理解功能。
Lodash的核心特点
1.数组/集合/对象操作
2.函数测试
优点
- 便捷的实用程序使开发者的工作更容易实现可重复使用的功能。
- 易于学习和理解的功能。
- 纯粹的库。
- 没有依赖性,只需添加一个javascript文件
- 性能比underscore库好
- 快速使用
- 社区支持
安装和设置
这个库提供普通的javascript和npm/yarn包。
Javascript/Jquery应用
在HTML脚本标签中,你可以使用脚本文件或lodash CDN库,如下所述。
然后使用下划线_,我们可以访问方法。任何方法都可以用_符号访问,比如_.isEmpty()。
NodeJS设置
它有npm和yarn包来安装这个依赖性
npm i --save lodash
or yarn add lodash
在你的代码中,你需要使用require加载模块,其功能如下所示
`var _ = require('lodash');`
Javascript Lodash示例
这个库既可以用在前端层(使用),也可以用在node.js的后端层。我们将看到在javascript中使用这个实用功能的各种常见例子。我在下面的例子中使用了4.17.10版本。
在javascript中检查一个空的字符串对象
isEmpty()方法 - 如果是空字符串,则返回true。
`
console.log(_.isEmpty({})); // returns true
console.log(_.isEmpty('test')); // returns false
console.log(_.isEmpty(null)); // returns true
console.log(_.isEmpty('')); // returns true
console.log(_.isEmpty(undefined)); // returns true
`
使用uniqWith()方法,它接受数组和比较器。
这里isEqual比较器被用来检查数组对象的值。
`
var arrayOfObjects = [{ 'id': 1, 'name': 'kiran' }, { 'id': 2, 'name': 'Franc' }, { 'id': 1, 'name': 'kiran' }];
let uniqObjects=_.uniqWith(arrayOfObjects, _.isEqual);
console.log(uniqObjects) // returns [{ 'id': 1, 'name': 'kiran' }, { 'id': 2, 'name': 'Franc' }]
`
在javascript中对数组进行排序
它提供了sortBy()函数来排序数字/对象/字符串。它对每个元素进行迭代,并使用稳定的排序方法对元素进行比较,然后以升序返回一个新的数组。下面的例子是对数字、字符串和对象进行排序。
`
var numberArray = [ 12, 5, 1, 91, 46, 23 ];
var stringArray = [ 'kiran','ebc','zen','abc' ];
let newNumberArray=_.sortBy(numberArray);
let newstringArray=_.sortBy(stringArray);
console.log(newNumberArray); // returns [1, 5, 12, 23, 46, 91]
console.log(newstringArray); //["abc", "ebc", "kiran", "zen"]
var emps = [ { 'name': 'kiran', 'id': 32 }, { 'name': 'franck', 'id': 76 }, { 'name': 'Ram', 'id': 51 }, { 'name': 'Antony', 'id': 18 } ];
console.log(_.sortBy(emps, function(e){return e.name}));
// returns {name: "Antony", id: 18},{name: "Ram", id: 51},{name: "franck", id: 76},{name: "kiran", id: 32}
`