Skip to content

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.

Notifications You must be signed in to change notification settings

CMTegner/rotate-array

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Build status devDependency status NPM version

Browser support

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' ] ]

About

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.

Resources

Stars

Watchers

Forks

Packages

No packages published