recurse over and duplicate array in toArray in order to handle sparse arrays - fixes #754

This commit is contained in:
Sebastian McKenzie 2015-02-12 00:33:04 +11:00
parent e0bfc72700
commit ae344aa23e
17 changed files with 39 additions and 33 deletions

View File

@ -1,3 +1,9 @@
(function (arr) {
return Array.isArray(arr) ? arr : Array.from(arr);
if (Array.isArray(arr)) {
var arr2 = [];
for (var i = 0; i < arr.length; i++) arr2.push(arr[i]);
return arr2;
} else {
return Array.from(arr);
}
});

View File

@ -1,6 +1,6 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
var isSorted = function (_ref) {
var _ref2 = _toArray(_ref);

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
var lyrics = [].concat(_toArray(parts), ["head", "and", "toes"]);

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
var a = [b].concat(_toArray(c), [d]);

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
var a = [b].concat(_toArray(c), [d, e], _toArray(f));

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
var lyrics = ["head", "and", "toes"].concat(_toArray(parts));

View File

@ -1,6 +1,6 @@
"use strict";
var _obj;
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
(_obj = obj)[method].apply(_obj, [foo, bar].concat(_toArray(args)));

View File

@ -1,6 +1,6 @@
"use strict";
var _obj;
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
(_obj = obj)[method].apply(_obj, _toArray(args));

View File

@ -1,7 +1,7 @@
"use strict";
var _foob, _foob$test;
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
(_foob = foob).add.apply(_foob, [foo, bar].concat(_toArray(numbers)));
(_foob$test = foob.test).add.apply(_foob$test, [foo, bar].concat(_toArray(numbers)));

View File

@ -1,7 +1,7 @@
"use strict";
var _foob, _foob$test;
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
(_foob = foob).add.apply(_foob, _toArray(numbers));
(_foob$test = foob.test).add.apply(_foob$test, _toArray(numbers));

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
add.apply(undefined, _toArray(numbers).concat([foo, bar]));

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
add.apply(undefined, [foo].concat(_toArray(numbers), [bar]));

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
add.apply(undefined, [foo, bar].concat(_toArray(numbers)));

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
add.apply(undefined, [foo].concat(_toArray(numbers), [bar, what], _toArray(test)));

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
add.apply(undefined, _toArray(numbers));

View File

@ -2,7 +2,7 @@
var _applyConstructor = function (Constructor, args) { var instance = Object.create(Constructor.prototype); var result = Constructor.apply(instance, args); return result != null && (typeof result == "object" || typeof result == "function") ? result : instance; };
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
_applyConstructor(Numbers, _toArray(nums));
_applyConstructor(Numbers, [1].concat(_toArray(nums)));

View File

@ -1,5 +1,5 @@
"use strict";
var _toArray = function (arr) { return Array.isArray(arr) ? arr : Array.from(arr); };
var _toArray = function (arr) { if (Array.isArray(arr)) { var arr2 = []; for (var i = 0; i < arr.length; i++) arr2.push(arr[i]); return arr2; } else { return Array.from(arr); } };
[].concat(_toArray(foo));