节点
德克是堆叠和队列的通称(名称被发音为"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 (英语)