rotate-array
v1.2.0
Published
Rotates the elements of an array in place. Supports rotation in both directions and automatically wraps rotations which are larger than the input array size.
Downloads
4,908
Readme
rotate-array
Rotates the elements of an array in place. Supports rotation in both directions and automatically wraps rotations which are larger than the input array size.
Installation
npm i rotate-array
Alternatives
For usage via AMD / <script>
, download a UMD bundle from wzrd.in.
Usage
var rotate = require('rotate-array');
rotate(array, num)
Rotates the array num
places to the left, i.e. it shifts num
items out of the array and pushes them back on the end. The reverse is done when num
is negative. In addition, rotate
automatically wraps rotations which are larger than array.length
.
Examples:
var beatles = ['paul', 'john', 'ringo', 'george'];
rotate(beatles, 2);
console.log(beatles); // [ 'ringo', 'george', 'paul', 'john' ]
var beatles = ['paul', 'john', 'ringo', 'george'];
rotate(beatles, -3);
console.log(beatles); // [ 'john', 'ringo', 'george', 'paul' ]
var beatles = ['paul', 'john', 'ringo', 'george'];
rotate(beatles, 42);
console.log(beatles); // [ 'ringo', 'george', 'paul', 'john' ]
rotate.all(array)
Returns all rotations for the given array. It does not modify the passed in array.
Example:
var beatles = ['paul', 'john', 'ringo', 'george'];
console.log(rotate.all(beatles));
// [ [ 'paul', 'john', 'ringo', 'george' ],
// [ 'john', 'ringo', 'george', 'paul' ],
// [ 'ringo', 'george', 'paul', 'john' ],
// [ 'george', 'paul', 'john', 'ringo' ] ]