@datastructures-js/stack
v3.1.4
Published
stack implementation in javascript
Downloads
11,948
Readme
@datastructures-js/stack
A wrapper around javascript array push/pop with a standard stack interface.
Contents
Install
npm install --save @datastructures-js/stack
require
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()); // 11
pop
removes and returns the top element of the stack.
console.log(stack.pop()); // 11
console.log(stack.peek()); // null
isEmpty
checks if the stack is empty.
stack.push(11);
console.log(stack.isEmpty()); // false
size
returns the number of elements in the stack.
console.log(stack.size()); // 1
clone
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(); // 0
Build
grunt build
License
The MIT License. Full License is here