js工具库——Moment.js和lodash

Moment.js

Moment.js是JavaScript日期处理类库。
官网:http://momentjs.cn/

Node.js中使用
(需要先安装node.js)

// 在当前目录下使用node安装moment库
//局部安装
npm install moment --save

打开vscode,在当前目录下打开终端,执行npm install moment --save 命令进行安装:

在这里插入图片描述

安装完之后,目录如下:

在这里插入图片描述

导入moment:

// 模块化导入moment
var moment = require('moment');
// 设置本地语言为中文
require('moment/locale/zh-cn')
moment.locale('zh-cn');

使用moment:

// 根据对应的格式输出当前时间
//MMMM表示月份,Do表示一个月的第几天(1~31),YYYY表示年份,h表示小时(1~12),mm表示分钟(00~59),ss表示秒(00~59),a表示上午、下午、晚上
console.log(moment().format('MMMM Do YYYY, h:mm:ss a')); //八月 17日 2022, 7:32:21 晚上

// 处理时间戳
//HH表示小时(00~23),DD表示月份的日期(01~31)
var res = moment(1630334723399).format('HH:mm YYYY-MMMM-DD')
console.log(res);  //22:45 2021-八月-30

在这里插入图片描述

浏览器中使用:

// 可以下载js文件,也可使用对应的cdn文件,bootcdn
<script src="moment.js"></script>
<script>
    moment().format();
</script>

moment.js的更多使用可以查看 moment.js文档

lodash

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

Lodash 遵循 MIT 开源协议发布,并且支持最新的运行环境。 查看各个构件版本的区别并选择一个适合你的版本。

官网:https://www.lodashjs.com/

同样的,我们需要先安装 lodash

node.js下安装 lodash

npm install lodash --save

在这里插入图片描述

导入lodash

var _ = require('lodash');

lodash 中有很多方法,我们简单来看几个吧,其他更多方法可以到 lodash官网中查看。

1、_.cloneDeep(value) 实现深拷贝

参数:value 要深拷贝的值。
返回:拷贝后的值。

var _ = require('lodash');
var obj = {
  name:'yezi',
  age: 18
}
// 使用cloneDeep方法
var obj2 = _.cloneDeep(obj);
obj2.age = 20;
console.log(obj); // { name: 'yezi', age: 18 }
console.log(obj2); // { name: 'yezi', age: 20 }

2、_.chunk(array, [size=1]) 将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array 无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。

参数:
array (Array): 需要处理的数组
[size=1] (number): 每个数组区块的长度

返回:
返回一个包含拆分区块的新数组(相当于一个二维数组)。

var _ = require('lodash');
console.log(_.chunk([1,2,3,4,5,6,7,8], 4)); //[ [ 1, 2, 3, 4 ], [ 5, 6, 7, 8 ] ]

3、_.compact(array) 创建一个新数组,包含原数组中所有的非假值元素。例如false, null, 0, “”, undefined, 和 NaN 都是被认为是“假值”。

参数
array (Array): 待处理的数组

返回
(Array): 返回过滤掉假值的新数组

var _ = require('lodash');
console.log(_.compact([0, 1, false, 2, '', 3])); //[ 1, 2, 3 ]

4、_.drop(array, [n=1]) 创建一个切片数组,去除array前面的n个元素。(n默认值为1)

参数
array (Array): 要查询的数组
[n=1] (number): 要去除的元素个数

返回
(Array): 返回array剩余切片

var _ = require('lodash');
console.log(_.drop([1, 2, 3], 2)); //[ 3 ]

5、_.indexOf(array, value, [fromIndex=0]) 返回首次 value 在数组array中被找到的 索引值, 如果 fromIndex 为负值,将从数组array尾端索引进行匹配。

参数
array (Array): 需要查找的数组。
value (*): 需要查找的值。
[fromIndex=0] (number): 开始查询的位置。

返回
(number): 返回 值value在数组中的索引位置, 没有找到为返回-1。

var _ = require('lodash');
console.log(_.indexOf([1, 2, 1, 2], 2, 2)); //3

6、_.uniq(array) 创建一个去重后的array数组副本。只有第一次出现的元素才会被保留。

参数
array (Array): 要检查的数组。

返回
(Array): 返回新的去重后的数组。

var _ = require('lodash');
console.log(_.uniq([2, 1, 2, 3, 4, 4])); //[ 2, 1, 3, 4 ]
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值