3.1.4 • Published 3 years ago
@datastructures-js/stack v3.1.4
@datastructures-js/stack
A wrapper around javascript array push/pop with a standard stack interface.
Contents
Install
npm install --save @datastructures-js/stackrequire
const { Stack } = require('@datastructures-js/stack');import
import { Stack } from '@datastructures-js/stack';API
constructor
JS
// empty stack
const stack = new Stack();
// from an array
const stack = new Stack([10, 3, 8, 40, 1]);TS
// empty stack
const stack = new Stack<number>();
// from an array
const stack = new Stack<number>([10, 3, 8, 40, 1]);Stack.fromArray
JS
// empty stack
const stack = Stack.fromArray([]);
// with elements
const list = [10, 3, 8, 40, 1];
const stack = Stack.fromArray(list);
// If the list should not be mutated, use a copy of it.
const stack = Stack.fromArray(list.slice());TS
// empty stack
const stack = Stack.fromArray<number>([]);
// with elements
const list = [10, 3, 8, 40, 1];
const stack = Stack.fromArray<number>([10, 3, 8, 40, 1]);push
adds an element to the top of the stack.
stack.push(11);peek
returns the top element in the stack.
console.log(stack.peek()); // 11pop
removes and returns the top element of the stack.
console.log(stack.pop()); // 11
console.log(stack.peek()); // nullisEmpty
checks if the stack is empty.
stack.push(11);
console.log(stack.isEmpty()); // falsesize
returns the number of elements in the stack.
console.log(stack.size()); // 1clone
creates a shallow copy of the stack.
const stack = Stack.fromArray([{ id: 2 }, { id: 4 } , { id: 8 }]);
const clone = stack.clone();
clone.pop();
console.log(stack.peek()); // { id: 8 }
console.log(clone.peek()); // { id: 4 }toArray
returns a copy of the remaining elements as an array.
console.log(stack.toArray()); // [{ id: 2 }, { id: 4 } , { id: 8 }]clear
clears all elements from the stack.
stack.clear();
stack.size(); // 0Build
grunt buildLicense
The MIT License. Full License is here