a17275eb91e3fbcf0c8421b2d52639ca97150689
[platform/framework/web/crosswalk-tizen.git] /
1 define(function() {
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     return split;
35 });