@blakeembrey/deque

中文文档
1.0.5发布于 2019/02/19Apache-2.0TypeScriptCommonJS零依赖近 30 天下载 109.3万

Deques 是对堆栈和队列的概括

中文使用文档
文档目录5 节
  1. 安装
  2. 使用量
  3. 类型脚本
  4. 参考文献
  5. 许可证

节点

NPM version NPM downloads Build status Test coverage

德克是堆叠和队列的通称(名称被发音为"deck"并被简称为"双分队"). - 说吧 蟒 collections。 。 。 .

安装

npm install @blakeembrey/deque --save

使用量

  • size 返回点中的元素数.
  • push(x) 添加 x 右侧的道克.
  • pushLeft(x) 添加 x 向左侧去.
  • clear() 将所有元素从deque中去掉,以 0 为长度 .
  • extend(iterable) 通过从可执行性中附加元素来扩展曲面的右侧.
  • extendLeft(iterable) 通过从可执行性中附加元素来扩展去向的左侧.
  • peek(i) 在索引中返回元素 i 在大厅.
  • indexOf(x, start?) 返回位置 x 在大厅.
  • has(x) 返回布尔表示是否 x 是在节奏.
  • insert(i, x) 插入 x 进入位置上 i。 。 。 .
  • pop() 将一个元素从定点右侧删除并返回。 如果没有元素,则丢出 RangeError。 。 。 .
  • popLeft() 返回并返回一个元素 从左侧deque。 如果没有元素,则丢出 RangeError。 。 。 .
  • delete(i) 删除位置值 i。 。 。 .
  • reverse() 倒置位置的装饰元素 .
  • rotate(n=1) 旋转曲轴 n 步入右边.
  • entries() 返回一个永恒的德克.
  • @@iterator() 返回一个永恒的德克.
import { Deque } from '@blakeembrey/deque'

const d = new Deque('ghi')

for (const value of d) {
  console.log(value.toUpperCase()) //=> G H I
}

d.push('j')
d.pushLeft('f')
d //=> Deque(['f', 'g', 'h', 'i', 'j'])

d.pop() //=> 'j'
d.popLeft() //=> 'f'

Array.from(d) //=> ['g', 'h', 'i']

d.peek(0) //=> 'g'
d.peek(-1) //=> 'i'

d.extend('jkl')
d //=> Deque(['g', 'h', 'i', 'j', 'k', 'l'])

d.rotate(1)
d //=> Deque(['l', 'g', 'h', 'i', 'j', 'k'])

d.rotate(-1)
d //=> Deque(['g', 'h', 'i', 'j', 'k', 'l'])

const d2 = new Deque(d)

d2 //=> Deque(['g', 'h', 'i', 'j', 'k', 'l'])

类型脚本

这个项目使用 类型脚本 并公布国家预防机制的定义.

参考文献

循环数组执行原基于 denque 和额外的优化.

许可证

Apache 2.0 (英语)

版本与发布记录

@blakeembrey/deque 共发布 6 个版本,首次发布于 2018/09/10;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.5latest2019/02/197 年前
1.0.42018/11/287 年前
1.0.32018/09/128 年前
1.0.22018/09/118 年前
1.0.12018/09/118 年前
1.0.02018/09/108 年前

关于 @blakeembrey/deque 的常见问题

@blakeembrey/deque 是什么?

Deques 是对堆栈和队列的概括

如何安装 @blakeembrey/deque?

在项目目录运行 npm install @blakeembrey/deque,或使用 pnpm add / yarn add / bun add。

@blakeembrey/deque 支持 TypeScript 吗?

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

@blakeembrey/deque 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@blakeembrey/deque 可以商用吗?

@blakeembrey/deque 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@blakeembrey/deque 的下载量有多少?

根据 npm 官方下载统计,@blakeembrey/deque 在 2026/10/09 – 2026/11/07 这 30 天内被下载 1,092,597 次,日均约 36,420 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@blakeembrey/deque 还在维护吗?

最新版本 1.0.5 发布于 2019/02/19(7 年前);至今共发布 6 个版本,其中过去 12 个月发布了 0 个;首次发布于 2018/09/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。