@tonaljs/collection
v4.9.0
Published
Utility functions to work with collections (arrays)
Downloads
9,609
Readme
@tonaljs/collection
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"]
// ]