0.0.2 • Published 3 years ago
lwj-utils v0.0.2
l-utils
介绍
一款简单的数据处理工具库。
安装
- npm
npm i lwj-utils -D- browser
<script src="https://unpkg.com/browse/lwj-utils@0.0.2/dist/index.umd.js"></script>Array
unique
针对数组进行去重,可传入关键属性对对象元素进行过滤。返回过滤后的新数组。
语法
// 普通去重
unique();
// 针对对象元素某一属性进行去重以及为空过滤
unique(key);参数:
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| key | string | 否 | - | 对象元素过滤的关键属性名 |
返回值
返回过滤后的新数组。
示例
const arr = [
1,
1,
2,
"2",
{ id: 2, name: "name1" },
{ id: 2, name: "name2" },
{ id: "", name: "name3" },
];
// 不传参数时直接进行最基本的元素去重
arr.unique(); // [1, 2, '2', { id: 2, name: "name1" }, { id: 2, name: "name2" }, { id: "", name: "name3" },]
// 传入字符串id,当元素为对象时根据id进行去重过滤
arr.unique("id"); // [1, 2, '2', { id: 2, name: "name1" }]Number
format
格式化数字,返回格式化后的字符串。
语法
// 按千分位进行分隔
format(separator);
// 固定小数位数
format(separator, decimals);参数:
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| separator | string | 否 | - | 千分位分隔符 |
| decimals | number | 否 | - | 小数位数 |
返回值
返回格式化后的字符串。
示例
const num = 1234567;
// 按千分位进行分隔
num.format(","); // 1,234,567
// 保留固定小数位数
num.format(",", 2); // 1,234,567.00Date
format
针对日期进行格式化,返回满足格式的日期字符串,若日期格式错误,则返回Invalid Date。
语法
format(formatStr);参数:
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| formatStr | string | 否 | - | 格式化占位符,支持如下字符: |
| 标识 | 示例 | 描述 |
|---|---|---|
| YY | 18 | 年,两位数 |
| YYYY | 2018 | 年,四位数 |
| Q | 1-4 | 季度,一位数 |
| 01-04 | 季度,两位数 | |
| M | 1-12 | 月份,从 1 开始 |
| MM | 01-12 | 月份,两位数 |
| MMM | Jan-Dec | 月份,英文缩写 |
| MMMM | January-December | 月份,英文全称 |
| D | 1-31 | 日期,从 1 开始 |
| DD | 01-31 | 日期,两位数 |
| d | 0-6 | 星期几,星期天是 0 |
| dd | Su-Sa | 最简写的星期几 |
| ddd | Sun-Sat | 简写的星期几 |
| dddd | Sunday-Saturday | 星期几,英文全称 |
| H | 0-23 | 小时,24h 制 |
| HH | 00-23 | 小时,24h 制,两位数 |
| h | 0-12 | 小时,12h 制 |
| hh | 01-12 | 小时,12h 制,两位数 |
| m | 0-59 | 分钟 |
| mm | 00-59 | 分钟,两位数 |
| s | 00-59 | 秒 |
| ss | 00-59 | 秒,两位数 |
| S | 0-9 | 毫秒(十),一位数 |
| SS | 0-99 | 毫秒(百),两位数 |
| SSS | 0-999 | 毫秒(千),三位数 |
| Z | -05:00 | UTC 的偏移量,±HH:mm |
| ZZ | -0500 | UTC 的偏移量,±HH:mm |
| A | AM / PM | 上/下午,大写 |
| a | am / pm | 上/下午,小写 |
返回值
返回格式化后的字符串。
示例
const date = new Date("2023/01/01");
date.format("YYYY-MM-DD"); // 2023-01-01
date.format("YYYY-MM-DD HH:mm:ss"); // 2023-01-01 00:00:00add
增加一定时间,返回增加后的日期对象。
语法
add(number, unit);参数
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| number | number | 是 | - | 需要增加的数量,若为负数代表减去 |
| unit | string | 是 | year、quarter、month、week、day、hour、minute、second、millisecond | 需要增加的单位 |
返回值
返回增加后的日期对象。
示例
const date = new Date("2023/01/01");
date.add(1, "day"); // Mon Jan 02 2023 00:00:00 GMT+0800 (中国标准时间)subtract
减去一定时间,返回减去后的日期对象。
语法
subtract(number, unit);参数
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| number | number | 是 | - | 需要增加的数量,若为负数代表增加 |
| unit | string | 是 | year、quarter、month、week、day、hour、minute、second、millisecond | 需要增加的单位 |
返回值
返回减去后的日期对象。
示例
const date = new Date("2023/01/01");
date.subtract(1, "day"); // Sat Dec 31 2022 00:00:00 GMT+0800 (中国标准时间)返回指定单位下相对于另一个日期之间的差异。
语法
diff(date, unit);参数
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| date | Date | 是 | - | 相比较的日期 |
| unit | string | 是 | year、quarter、month、week、day、hour、minute、second、millisecond | 差异单位 |
返回值
返回差异的数量。
示例
new Date("2023/01/01").diff(new Date("2022/01/02"), "day"); // 364startOf
startOf()方法用于设置一个时间的开始,并返回对应的开始时间。
语法
startOf(unit);参数
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| unit | string | 是 | year、quarter、month、week、day、hour、minute、second、millisecond | 开始单位 |
返回值
返回对应的开始日期对象。
示例
new Date().startOf("year"); // Sun Jan 01 2023 00:00:00 GMT+0800 (中国标准时间)endOf
endOf()方法用于设置一个时间的结束,并返回对应的结束时间。
语法
endOf(unit);参数
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| unit | string | 是 | year、quarter、month、week、day、hour、minute、second、millisecond | 结束单位 |
返回值
返回对应的结束日期对象。
示例
new Date().endOf("year"); // Sun Dec 31 2023 23:59:59 GMT+0800 (中国标准时间)getQuarter
根据本地时间,返回一个指定的日期对象为哪一个季度。
语法
getQuarter();参数
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| - | - | - | - | - |
返回值
返回一个指定的日期对象为哪一个季度。1-4。
示例
new Date().getQuarter(); // 1getMonthDays
返回一个指定的日期对象所在月份的天数。
参数
| 参数 | 类型 | 是否必须 | 可选值 | 说明 |
|---|---|---|---|---|
| - | - | - | - | - |
返回值
返回一个指定的日期对象所在月份的天数。
示例
new Date().getMonthDays(); // 31