@tonaljs/collection

Utility functions to work with collections (arrays)

Usage no npm install needed!

<script type="module">
  import tonaljsCollection from 'https://cdn.skypack.dev/@tonaljs/collection';
</script>

README

@tonaljs/collection tonal npm version

Functions to create and manipulate collections (collections)

Usage

ES6:

import { Collection } from "@tonaljs/tonal";

node:

const { Collection } = require("@tonaljs/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"]
// ]