# nth-check 中文文档

规范地址：https://npmcn.com/package/nth-check/

版本：3\.0\.1
npm 元数据更新时间：2026-03-17T23:12:57.973Z
中文译文更新时间：2026-11-05T15:46:36.233Z
软件包许可：BSD-2-Clause

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/nth-check
原文对照：https://npmcn.com/package/nth-check/?lang=original
项目主页：https://github.com/fb55/nth-check
源码仓库：https://github.com/fb55/nth-check

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：31.5 kB，19 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.19\.0
- 运行依赖：1 个
- 首次发布：2014-02-15T15:06:22.622Z
- 最新版本发布：2026-03-17T23:12:57.654Z
- 近 30 天下载量：330269992（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 2 个）

## 中文简介

解析并编译 CSS nth-checks 以高度优化函数.

## 安装

```sh
npm install nth-check
```

也可以使用：`pnpm add nth-check`、`yarn add nth-check`、`bun add nth-check`

## README

# 检查 [![Build Status](https://travis-ci.org/fb55/nth-check.svg)](https://travis-ci.org/fb55/nth-check)

解析并编译 CSS nth-checks 以高度优化函数.

### 关于

此模块可用于解析和编译 nth- checks, 因为它们存在于 CSS 3's `nth-child()` 财务报告和审定财务报表 `nth-last-of-type()`。它可用于检查某一索引是否与某一nth规则相匹配,或生成与某一nth规则相匹配的索引序列.

`nth-check` 注重速度,为不同类型的 nth- child 配方提供优化功能,同时仍然遵循 [光谱](http://www.w3.org/TR/css3-selectors/#nth-child-pseudo)。 。 。 .

### API 密码

```js
import nthCheck, { parse, compile } from "nth-check";
```

##### `nthCheck(formula)`

解析并编译公式到一个高度优化的函数. 合并 `parse` 财务报告和审定财务报表 `compile`。 。 。 .

如果公式不匹配任何元素,则返回 [`boolbase`](https://github.com/fb55/boolbase)是因为 `falseFunc`否则,接受 _指数_ 返回,该返回是否通过 _指数_ 匹配公式.

**说明**: n 规则开始计数于 `1`,返回函数为 `0`。 。 。 .

**示例**

```js
const check = nthCheck("2n+3");

check(0); // `false`
check(1); // `false`
check(2); // `true`
check(3); // `false`
check(4); // `true`
check(5); // `false`
check(6); // `true`
```

##### `parse(formula)`

解析表达式,丢出一个 `Error` 如果失败。 否则,返回包含整数步大小和整数抵消nth规则的数组.

**示例**

```js
parse("2n+3"); // [2, 3]
```

##### `compile([a, b])`

需要一个包含两个元素的阵列( 由 `.parse`)并返回一个高度优化的函数.

**示例**

```js
const check = compile([2, 3]);

check(0); // `false`
check(1); // `false`
check(2); // `true`
check(3); // `false`
check(4); // `true`
check(5); // `false`
check(6); // `true`
```

##### `generate([a, b])`

返回一个函数,该函数产生单一的指数序列.

如果序列有结束, 返回的函数将返回 `null` 在序列中最后一个索引之后.

**示例** 不断增长的顺序

```js
const gen = nthCheck.generate([2, 3]);

gen(); // `1`
gen(); // `3`
gen(); // `5`
gen(); // `8`
gen(); // `11`
```

**示例** 带有结束值

```js
const gen = nthCheck.generate([-2, 5]);

gen(); // 0
gen(); // 2
gen(); // 4
gen(); // null
```

##### `sequence(formula)`

将公式分析并编译到生成索引序列的生成器。 合并 `parse` 财务报告和审定财务报表 `generate`。 。 。 .

**示例** 不断增长的顺序

```js
const gen = nthCheck.sequence("2n+3");

gen(); // `1`
gen(); // `3`
gen(); // `5`
gen(); // `8`
gen(); // `11`
```

**示例** 带有结束值

```js
const gen = nthCheck.sequence("-2n+5");

gen(); // 0
gen(); // 2
gen(); // 4
gen(); // null
```

* * *

许可证: BSD-2- Clause

## 安全联络信息

请使用 [电梯安全联络](https://tidelift.com/security)。 。 。 . Tidelift将协调固定和披露.

## 常见问题

### nth-check 是什么？

解析并编译 CSS nth-checks 以高度优化函数\.

### 如何安装 nth-check？

在项目目录运行 npm install nth-check，或使用 pnpm add / yarn add / bun add。

### nth-check 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### nth-check 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### nth-check 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.19\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### nth-check 可以商用吗？

nth-check 使用 BSD-2-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### nth-check 的下载量有多少？

根据 npm 官方下载统计，nth-check 在 2026/10/07 – 2026/11/05 这 30 天内被下载 330,269,992 次，日均约 11,009,000 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### nth-check 还在维护吗？

最新版本 3\.0\.1 发布于 2026/03/18（7 个月前）；至今共发布 9 个版本，其中过去 12 个月发布了 2 个；首次发布于 2014/02/15。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

