npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@lwjjs/utils

v0.1.0

Published

#### 介绍

Downloads

1

Readme

Utils

介绍

一款简单的数据处理工具库。

安装

  1. npm
npm i lwj-utils -D
  1. browser
<script src="https://unpkg.com/@lwjjs/utils/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.00

Date

format

针对日期进行格式化,返回满足格式的日期字符串,若日期格式错误,则返回Invalid Date

语法
format(formatStr);
参数:

| 参数 | 类型 | 是否必须 | 可选值 | 说明 | | --------- | ------ | -------- | ------ | ---------------------------- | | formatStr | string | 否 | - | 格式化占位符,支持如下字符: |

| 标识 | 示例 | 描述 | | ---- | ---------------- | -------------------- | | YY | 18 | 年,两位数 | | YYYY | 2018 | 年,四位数 | | Q | 1-4 | 季度,一位数 | | QQ | 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:00
add

增加一定时间,返回增加后的日期对象。

语法
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"); // 364
startOf

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(); // 1
getMonthDays

返回一个指定的日期对象所在月份的天数。

参数

| 参数 | 类型 | 是否必须 | 可选值 | 说明 | | ---- | ---- | -------- | ------ | ---- | | - | - | - | - | - |

返回值

返回一个指定的日期对象所在月份的天数。

示例
new Date().getMonthDays(); // 31