1 |
|
2 |
|
3 | |
4 |
|
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 |
|