diff --git a/index.js b/index.js index e0190bf..3ad4c6d 100644 --- a/index.js +++ b/index.js @@ -1,24 +1,17 @@ module.exports = function newArray(start, end) { - var n0 = typeof start === 'number', - n1 = typeof end === 'number' + start = +start; + end = +end; + if (!isNaN(start) && isNaN(end)) { + end = start; + start = 0; + } else if (isNaN(start) && isNaN(end)) { + start = end = 0; + } - if (n0 && !n1) { - end = start - start = 0 - } else if (!n0 && !n1) { - start = 0 - end = 0 - } + const len = end - start; + if (len < 0) throw new Error("array length must be positive"); - start = start|0 - end = end|0 - var len = end-start - if (len<0) - throw new Error('array length must be positive') - - var a = new Array(len) - for (var i=0, c=start; i x + y); + return a; +};