Moment.js
JavaScript日期处理类库
node.js中使用
// 在当前目录下使用node安装moment库
npm install moment --save
// 模块化导入moment
var moment = require('moment');
// 设置本地语言为中文
require('moment/locale/zh-cn')
moment.locale('zh-cn');
// 根据对应的格式输出当前时间
console.log(moment().format('MMMM Do YYYY, h:mm:ss a'));
//八月 30日 2021, 11:07:46 晚上
浏览器中使用
// 可以下载js文件,也可使用对应的cdn文件,bootcdn
<script src="moment.js"></script>
<script>
moment().format();
</script>
时间戳转换
console.log(moment(parseInt(1630334723399)).format('YYYY-MM-DD HH:mm:ss'));
//2021-08-30 22:45:23
lodash.js
Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。
在node.js中使用
$ npm i -g npm
$ npm i --save lodash
模块化导入lodash
var _ = require('lodash');
在浏览器中使用
<script src="lodash.js"></script>
解决浅拷贝问题
var _ = require('lodash');
var obj = {
name:'zhangsan',
age: 18
}
// 使用cloneDeep方法
var obj2 = _.cloneDeep(obj);
obj2.age = 20;
console.log(obj); // { name: 'zhangsan', age: 18 }
console.log(obj2); // { name: 'zhangsan', age: 20 }
_.chunk(array, [size=1])
定义
将数组(array)拆分成多个 size 长度的区块,并将这些区块组成一个新数组。 如果array无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。
参数
array (Array): 需要处理的数组
[size=1] (number): 每个数组区块的长度
返回
(Array): 返回一个包含拆分区块的新数组(相当于一个二维数组)。
示例
_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]
_.compact(array)
定义
创建一个新数组,包含原数组中所有的非假值元素。例如false, null, 0, “”, undefined, 和 NaN 都是被认为是“假值”。
参数
array (Array): 待处理的数组
返回
(Array): 返回过滤掉假值的新数组
示例
_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]
_.drop(array, [n=1])
定义
创建一个切片数组,去除array前面的n个元素。(n默认值为1。)
参数
array (Array): 要查询的数组。
[n=1] (number): 要去除的元素个数。
返回
(Array): 返回array剩余切片。
示例
_.drop([1, 2, 3]);
// => [2, 3]
_.drop([1, 2, 3], 2);
// => [3]
_.drop([1, 2, 3], 5);
// => []
_.drop([1, 2, 3], 0);
// => [1, 2, 3]
_.indexOf(array, value, [fromIndex=0])
定义
返回首次 value 在数组array中被找到的 索引值, 如果 fromIndex 为负值,将从数组array尾端索引进行匹配。
参数
array (Array): 需要查找的数组。
value (*): 需要查找的值。
[fromIndex=0] (number):开始查询的位置。
返回
(number): 返回 值value在数组中的索引位置, 没有找到为返回-1。
示例
_.indexOf([1, 2, 1, 2], 2);
// => 1
// Search from the `fromIndex`.
_.indexOf([1, 2, 1, 2], 2, 2);
// => 3
_.uniq(array)
定义
创建一个去重后的array数组副本。只有第一次出现的元素才会被保留。
参数
array (Array): 要检查的数组。
返回
(Array): 返回新的去重后的数组。
示例
_.uniq([2, 1, 2]);
// => [2, 1]