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 开源协议发布,并且支持最新的运行环境。 查看各个构件版本的区别并选择一个适合你的版本。
同样的,我们需要先安装 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 ]