multidim-array-index
maps multidimensional array indices to monodimensional array index
Table Of Contents:
Installation
With npm do
npm install multidim-array-index
Examples
All code in the examples below is intended to be contained into a single file.
var multiDimArrayIndex = require('multidim-array-index')
1th-order
In the monodimensional case, it just returns the index itself.
var i3 = multiDimArrayIndex // 0 // 1 // 2
2th-order
For a two dimensional case, for instance a matrix, it is equivalent to the
function (i, j, numCols) => j + i * numCols
var i2x3 = multiDimArrayIndex // 0 // 1 // 2 // 3 // 4 // 5
3th-order
var i2x3x4 = multiDimArrayIndex // 0 // 1 // 2 // 3 // 4 // 5 // 6 // 7 // 8 // 9 // 10 // 11 // 12 // 13 // 14 // 15 //// 0 // 1 // 2 // 3 // 4 // 5 // 6 // 7
API
multiDimArrayIndex(dimension, indices)
- @param
{Array}
dimensions defines the shape of the multi dimensional array - @param
{Array}
indices to transform - @returns
{Number}
index of an equivalent mono dimensional array
Given dimensions d_1, d_2, d_3 .. d_n
and indices i_1, i_2, i_3 .. i_n
index
is computed by formula
index = i_n + i_(n-1) * d_n + i_(n-2) * d_n * d_(n-1) + ... + i_2 * d_n * d_(n-1) * ... * d_3 + i_1 * d_n * ... * d_2
multiDimArrayIndex.error
An object exposing the following error messages:
- outOfBoundIndex
For example, the following snippets will throw
// outOfBoundIndex