diff options
Diffstat (limited to 'node_modules/arr-flatten/index.js')
-rw-r--r-- | node_modules/arr-flatten/index.js | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/node_modules/arr-flatten/index.js b/node_modules/arr-flatten/index.js index d9d4c0319..0cb4ea4ec 100644 --- a/node_modules/arr-flatten/index.js +++ b/node_modules/arr-flatten/index.js @@ -1,27 +1,22 @@ /*! * arr-flatten <https://github.com/jonschlinkert/arr-flatten> * - * Copyright (c) 2014-2015, 2017, Jon Schlinkert. + * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. */ 'use strict'; -module.exports = function flatten(arr) { +module.exports = function (arr) { return flat(arr, []); }; -function flat(arr, acc) { +function flat(arr, res) { + var i = 0, cur; var len = arr.length; - var idx = -1; - - while (++idx < len) { - var cur = arr[idx]; - if (Array.isArray(cur)) { - flat(cur, acc); - } else { - acc.push(cur); - } + for (; i < len; i++) { + cur = arr[i]; + Array.isArray(cur) ? flat(cur, res) : res.push(cur); } - return acc; + return res; } |