shoveit
v1.0.0
Published
shuffle an array of elements
Downloads
3
Readme
shoveit
Take an array of elements that have either points
or ranges
defined, and shove them into an array of arrays where the elements
ranges
and points
do not overlap. Here an visualization of the
idea:
-aaa----------
-------bbbbb--
--cccc--------
----d---dd----
----e-------e-
=>
-aaae--bbbbbe-
--cccc--------
----d---dd----
var array = [{
name: 'a',
range: [2, 4]
}, {
name: 'b',
range: [8, 12]
}, {
name: 'c',
range: [3, 6]
}, {
name: 'd',
points: [5, 9,10]
}];
console.log(shove(array));
[ [ { name: 'a', range: [Object] },
{ name: 'b', range: [Object] } ],
[ { name: 'c', range: [Object] },
{ name: 'd', points: [Object] } ] ]
The algorithm is not that smart so it wont always get the optimal shuffle, but thats okay.