在前端开发中,工具类函数是必不可少的一部分,这些函数可以帮助我们更快、更高效地解决问题。npm 上有很多优秀的工具类库,比如 lodash、moment 等等。今天,我们要介绍的是另一个优秀的 npm 包——sky-js-utils。
sky-js-utils 是一个收集了一系列前端开发中需要使用的工具类函数的 npm 包,包含了以下几个方面:
- 数组方法:深拷贝数组、去重、排序、快排等常用方法。
- 字符串方法:获取字符串字节数、格式化货币、格式化日期等常用方法。
- 数据验证:手机号、邮箱、身份证号码、银行卡号的正则表达式验证方法。
- 浏览器相关:获取浏览器类型、URL 解析、获取当前页面参数等常用方法。
接下来,让我们看一下 sky-js-utils 的一些具体用法和示例代码。
安装 sky-js-utils
我们可以通过 npm 命令来安装 sky-js-utils:
npm install sky-js-utils --save
这样就可以在我们的项目中引用 sky-js-utils 了。
使用 sky-js-utils
为了更快速、方便地使用 sky-js-utils,我们可以将其所有方法导入进来:
import _ from 'sky-js-utils';
这样,我们就可以在代码中愉快地使用 sky-js-utils 了。
数组方法
深拷贝数组
我们经常需要对数组进行深拷贝,这在 sky-js-utils 中也变得十分简单:
let arr = [1, 2, 3]; let copy = _.cloneDeep(arr);
去重
在处理数组时,去重也是一个常见的需求,sky-js-utils 提供了一个简单易用的去重方法:
let arr = [1, 2, 2, 3, 3, 3]; let newArr = _.unique(arr); console.log(newArr) // [1, 2, 3]
排序
排序也是一个常见的需求,sky-js-utils 提供了 sort 方法:
let arr = [4, 1, 6, 2, 8, 9]; let newArr = _.sort(arr); console.log(newArr) // [1, 2, 4, 6, 8, 9]
快排
sky-js-utils 还提供了一种排序方法——快排,具有更高效的排序能力:
let arr = [4, 1, 6, 2, 8, 9]; let newArr = _.quickSort(arr); console.log(newArr) // [1, 2, 4, 6, 8, 9]
字符串方法
获取字符串字节数
在一些输入框中,我们需要限制用户输入的字符数量,而这些字符数量大多是按照字节数来计算的。sky-js-utils 提供了一个函数来获取字符串的字节数:
let str = '我是一个牛逼的前端工程师'; let byteNum = _.getBytesNum(str); console.log(byteNum) // 35
格式化货币
在一些财务系统中,格式化货币也是一个不可或缺的功能。sky-js-utils 提供了 formatMoney 方法来格式化货币:
let money = 123456789.123; let formatMoney = _.formatMoney(money); console.log(formatMoney) // 123,456,789.12
格式化日期
日期格式化也是常常用到的功能,sky-js-utils 提供了 formatDate 来格式化日期:
let date = new Date(); let formatStr = 'yyyy-MM-dd hh:mm:ss'; let formatDate = _.formatDate(date, formatStr); console.log(formatDate) // 2021-12-23 13:23:50
数据验证
数据验证是一个前端开发中非常重要的一个方面,sky-js-utils 提供了一些常见的数据验证方法。
手机号验证
let phone = '13500001111'; let result = _.checkPhone(phone); console.log(result) // true
邮箱验证
let email = 'test@example.com'; let result = _.checkEmail(email); console.log(result) // true
身份证号码验证
let idCardNum = '360429199902059876'; let result = _.checkIDCard(idCardNum); console.log(result) // true
银行卡号验证
let cardNum = '6228480402564890018'; let result = _.checkBankCard(cardNum); console.log(result) // true
浏览器相关
获取浏览器类型
在一些移动端开发中,我们需要去判断用户使用的浏览器类型。sky-js-utils 提供了一个方法来判断当前浏览器类型:
let browserType = _.checkBrowser(); console.log(browserType); // iPhone
URL 解析
我们也经常需要去解析 URL 参数,这也是 sky-js-utils 支持的一个功能:
let params = _.parseQueryString('?name=sky&age=18'); console.log(params); // {name: 'sky', age: '18'}
获取当前页面参数
有时候,我们也需要获取当前页面的一些参数,如当前页面的 URL 地址等。sky-js-utils 也提供了一些方法来满足这些需求。
获取当前页面 URL:
let currentUrl = _.getCurrentUrl(); console.log(currentUrl); // https://example.com/some/path
获取当前页面参数:
let params = _.getQueryParams(); console.log(params); // {name: 'sky', age: '18'}
总结
通过本文的介绍,我们可以看到 sky-js-utils 对前端工具类函数的集成非常全面,涵盖了我们在前端开发中经常使用到的一些方法,且这些方法都具有良好的扩展性和灵活性,可以轻易地应对不同开发场景的需求。希望大家可以在开发中尽可能利用好这些优秀的 npm 包,提高开发效率,提高应用的质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b6251ab1864dac67366