array-scaler

0.3.2 • Public • Published

array-scaler Build Status

Scale an array preserving order to a discrete or continuous scale

Install

$ npm install --save array-scaler

Usage

var scaler = require('array-scaler');
var scaledArray;
 
// scale a simple array with default step = 1
scaledArray = scaler.scale([1, 2, 5], {
        min: 1
});
console.log(scaledArray);
//=> [1, 2, 3]
 
// scale a simple array with a custom step
scaledArray = scaler.scale([1, 2, 5]), {
        min: 1,
        step: 2
});
console.log(scaledArray);
//=> [1, 3, 5]
 
// provide max value to validate fitting (using unique items)
scaledArray = scaler.scale([1, 2, 5]), {
        min: 1,
        max: 2
});
//=> Error: Count of unique items (3) is more than spread (2) / step (1)
 
// works with negative numbers and negative range
scaledArray = scaler.scale([-10, 5, -1]), {
        min: -5,
        step: 1
});
console.log(scaledArray);
//=> [-5, -3, -4]
 
// Get a continuous scale
scaledArray = scaler.scale([1, 2, 5], {
        min: 1,
        max: 3,
        continuous: true
});
console.log(scaledArray);
//=> [1, 1.5, 3]

API

.scale(array, params)

array

Type: array required

The array you want to scale

params

min

Type: number required

The minimum number to start the scale with.

max

Type: number

Default: Infinity

The maximum number to fit the scale into. If supplied - validation will be done to make sure the number of unique items in the array will fit the range.

continuous

Type: boolean

Default: false

Whether to use a continuous scale. Default is to use a discrete scale.

step

Type: number

Default: 1

Step to use when scaling in discrete mode. Has no effect in continuous mode.

License

MIT @Gilad Peleg

Dependencies (1)

Dev Dependencies (2)

Package Sidebar

Install

npm i array-scaler

Weekly Downloads

1

Version

0.3.2

License

MIT

Last publish

Collaborators

  • pgilad