1 | var _isArrayLike =
|
2 |
|
3 | require("./_isArrayLike");
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | function _makeFlat(recursive) {
|
13 | return function flatt(list) {
|
14 | var value, jlen, j;
|
15 | var result = [];
|
16 | var idx = 0;
|
17 | var ilen = list.length;
|
18 |
|
19 | while (idx < ilen) {
|
20 | if (_isArrayLike(list[idx])) {
|
21 | value = recursive ? flatt(list[idx]) : list[idx];
|
22 | j = 0;
|
23 | jlen = value.length;
|
24 |
|
25 | while (j < jlen) {
|
26 | result[result.length] = value[j];
|
27 | j += 1;
|
28 | }
|
29 | } else {
|
30 | result[result.length] = list[idx];
|
31 | }
|
32 |
|
33 | idx += 1;
|
34 | }
|
35 |
|
36 | return result;
|
37 | };
|
38 | }
|
39 |
|
40 | module.exports = _makeFlat; |
\ | No newline at end of file |