aboutsummaryrefslogtreecommitdiff
path: root/node_modules/arr-flatten/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/arr-flatten/index.js')
-rw-r--r--node_modules/arr-flatten/index.js21
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;
}