UNPKG

804 BJavaScriptView Raw
1
2
3 /**
4 * Split array into a fixed number of segments.
5 */
6 function split(array, segments) {
7 segments = segments || 2;
8 var results = [];
9 if (array == null) {
10 return results;
11 }
12
13 var minLength = Math.floor(array.length / segments),
14 remainder = array.length % segments,
15 i = 0,
16 len = array.length,
17 segmentIndex = 0,
18 segmentLength;
19
20 while (i < len) {
21 segmentLength = minLength;
22 if (segmentIndex < remainder) {
23 segmentLength++;
24 }
25
26 results.push(array.slice(i, i + segmentLength));
27
28 segmentIndex++;
29 i += segmentLength;
30 }
31
32 return results;
33 }
34 module.exports = split;
35