Ready to take your JavaScript development to the next level? Meet npm Enterprise - the ultimate in enterprise JavaScript. Learn more »

indices-permutations

0.2.3 • Public • Published

indices-permutations

is a recursive reducer to all permutations with repetitions of multi dimensional array indices

Installation | Usage | Examples | License

NPM version Build Status No deps JavaScript Style Guide

Installation

With npm do

npm install indices-permutations

Usage

Use it as a callback for the Array.prototype.reduce() on an array of positive integers. It returns the result array of all indices permutated.

Note that initialValue argument must be provided, for instance it can be an empty array [].

Both CommonJS and ES6 import syntax are supported.

import indicesPermutations from 'indicesPermutations'
const indicesPermutations = require('indices-permutations')

Examples

All code in the examples below is intended to be contained into a single file.

order 1

Reduce [n] to [[0], [1], ..., [n-1]]

[5].reduce(indicesPermutations, []) // [[0], [1], [2], [3], [4]]

order 2

Reduce [m, n] to [[0, 0], [0, 1], ... ,[m-1, n-1]]

[3, 3].reduce(indicesPermutations, []) // [[0, 0], [0, 1], [0, 2],
                                       //  [1, 0], [1, 1], [1, 2],
                                       //  [2, 0], [2, 1], [2, 2]]

order 3

Reduce [a1, a2, a3] to [[0, 0, 0], ... ,[a1 - 1, a2 - 1, a3 - 1]]

[2, 2, 3].reduce(indicesPermutations, []) // [[0, 0, 0], [0, 0, 1], [0, 0, 2],
                                          //  [0, 1, 0], [0, 1, 1], [0, 1, 2],
                                          //  [1, 0, 0], [1, 0, 1], [1, 0, 2],
                                          //  [1, 1, 0], [1, 1, 1], [1, 1, 2]]

License

MIT

install

npm i indices-permutations

Downloadsweekly downloads

18

version

0.2.3

license

MIT

homepage

g14n.info

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability