前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >经历千锤百炼的神级工具库!要是还不知道,可就真的要OUT啦!

经历千锤百炼的神级工具库!要是还不知道,可就真的要OUT啦!

作者头像
程序员老鱼
发布2024-03-07 10:25:29
2050
发布2024-03-07 10:25:29
举报
文章被收录于专栏:前端实验室前端实验室

大家好,我是「前端实验室」爱分享的了不起~

今天给大家分享下前端常用到的基础工具类。注意,了不起说的是基础工具类库,就是处理对象、数组、集合这类数据的基础工具库!

有了这些基础的工具类,再也不用日复一日的头疼怎么复杂数据了!以下这些轮子够用啦!

「Lodash」

Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。

大名鼎鼎的 Lodash 就不用过多说了,记住它的官方地址就好。

https://www.lodashjs.com/

「xijs」

xijs 是一个面向复杂业务场景的javascript工具库,包含了业务开发中常用的:

  • 浏览器相关函数
  • 字符串常用操作方法
  • 常用类型判断方法
  • 数据结构转换算法
  • 图像图形处理算法
  • js高级函数
  • 数学计算函数

大家可能对复杂场景不太明白,截图给大家看下。

了不起记得,最开始写前端那会儿,”获取当前运行环境,返回运行环境的判断“逻辑是要自己一行一行的码出来的!已经记不清那时调试过多少遍才跑通的了!

记住它的地址,需要的时候真的很管用!

GitHub地址 https://github.com/MrXujiang/xijs 文档地址 http://h5.dooring.cn/xijs

「Ramda」

Ramda.js是一款基于柯里化的工具库,可以用于处理集合、数组、对象等数据。比如常见的map,filter, forEach,find等。

这是一个很重要的库,提供了许多有用的方法,每个 JavaScript 程序员都应该掌握这个工具!

https://ramda.cn/

「Day.js」

Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。

Day.js和 Moment.js 的 API 设计保持完全一样。只要会Moment.js,上手难度几乎为零,而且体积只有 2kb,绝对轻量!

https://dayjs.fenxianglu.cn/

「big.js」

一个小型,快速的 JavaScript 库,用于任意精度的十进制算术运算!

只要与JavaScript数字运算相关,直接用它就好--数字运算必备库

https://github.com/MikeMcl/big.js

「qs」

qs是npm的一个库,一个 url 参数转化 (parse 和 stringify)的轻量级 js 库。

用过axios的小伙伴,应该比较熟悉。

qs里面的 stringify() 方法可以将一个json对象直接转为以?和&符连接的形式

qs.parse() 将URL解析成对象的形式

代码语言:javascript
复制
const Qs = require('qs');

let url = 'method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0';

Qs.parse(url);

console.log(Qs.parse(url));

qs.stringify() 将对象序列化成URL的形式,以&进行拼接

代码语言:javascript
复制
const Qs = require('qs');

let obj= {

    method: "query_sql_dataset_data",

    projectId: "85",

    appToken: "7d22e38e-5717-11e7-907b-a6006ad3dba0",

    datasetId: " 12564701"

};

Qs.parse(url);

console.log(Qs.parse(url));

qs在前后端接口交互中非常好用。而且这个库是axios包含的,无效单独下载,直接上手就好!

https://github.com/ljharb/qs

「Decimal.js」

Decimal.js是一个支持JavaScript浮点运算的高精度类型,可以避免舍入规则带来的精度问题。

前面我们说来Big.js已经可以用来处理精度问题了,这里为什么要再提Decimal.js呢?

因为big.js的精度采用小数位, NAN 或者 Infinity 视为不合法值,且它不能处理除了十进制以外的其它进制。这在常用的运算中是🆗的!但一旦涉及到非常小或者非常大的数值时,还是得考虑Decimal.js

Decimal.js支持NaNInfinity支持非整数次幂,exp,ln,log,以及三角函数等。它精度采用有效数字,所有操作均采取精度,还支持二进制,八进制,十六进制,二进制指数符号等。

Decimal.js非常的强大,对应的包体积也大😂 因此,当发现Big.js搞不定的时候,再祭出Decimal.js吧!

https://github.com/MikeMcl/decimal.js

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 「Lodash」
  • 「xijs」
  • 「Ramda」
  • 「Day.js」
  • 「big.js」
  • 「qs」
  • 「Decimal.js」
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档