Breaks array keeping similar values together.
This is part of package extra-array.
This is browserified, minified version of @extra-array/group.
It is exported as global variable array_group.
CDN: unpkg, jsDelivr.
array.group(x, [fc], [fm]);
// x: an array
// fc: compare function (a, b)
// fm: map function (v, i, x)
const array = require("extra-array");
var x = [1, 2, 2, -2, -2, 4];
array.group(x);
// [ [ 1 ], [ 2, 2 ], [ -2, -2 ], [ 4 ] ]
array.group(x, (a, b) => Math.abs(a) - Math.abs(b));
// [ [ 1 ], [ 2, 2, -2, -2 ], [ 4 ] ]
array.group(x, null, v => Math.abs(v));
// [ [ 1 ], [ 2, 2, -2, -2 ], [ 4 ] ]