Skip to content

Latest commit

 

History

History
61 lines (42 loc) · 1.24 KB

README.md

File metadata and controls

61 lines (42 loc) · 1.24 KB

@tonaljs/collection tonal npm version

Functions to create and manipulate collections (collections)

Usage

ES6:

import { Collection } from "tonal";

node:

const { Collection } = require("tonal");

API

range(from: number, to: number) => number[]

Creates a numeric range:

Collection.range(-2, 2); // => [-2, -1, 0, 1, 2]
Collection.range(2, -2); // => [2, 1, 0, -1, -2]

rotate(times: number, collection: any[]) => any[]

Rotate an collection a number of times:

Collection.rotate(1, [1, 2, 3]); // => [2, 3, 1]

shuffle(collection: any[]) => any[]

Randomizes the order of the specified collection in-place, using the Fisher–Yates shuffle.

Collection.shuffle(["a", "b", "c"]);

permutations(collection: any[]) => any[][]

Get all permutations of an collection

Collection.permutations(["a", "b", "c"])) // =>
// =>
// [
//   ["a", "b", "c"],
//   ["b", "a", "c"],
//   ["b", "c", "a"],
//   ["a", "c", "b"],
//   ["c", "a", "b"],
//   ["c", "b", "a"]
// ]