From 4a72f3c93613cfe18ffaecdc5296974d7895b0db Mon Sep 17 00:00:00 2001 From: qinsfu <44136546+qxdi@users.noreply.github.com> Date: Wed, 6 May 2020 16:44:43 +0800 Subject: [PATCH 1/2] Update index.js More like functional programming --- index.js | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/index.js b/index.js index e0190bf..9270b96 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 - } + var 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; +} From 7d595c106f3289b16432f1f99270302d8052939e Mon Sep 17 00:00:00 2001 From: qinsfu <44136546+qxdi@users.noreply.github.com> Date: Wed, 6 May 2020 16:56:47 +0800 Subject: [PATCH 2/2] Update index.js replace all `var` keyworks with `const` --- index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 9270b96..3ad4c6d 100644 --- a/index.js +++ b/index.js @@ -9,9 +9,9 @@ module.exports = function newArray(start, end) { start = end = 0; } - var len = end - start; + const len = end - start; if (len < 0) throw new Error("array length must be positive"); - var a = new Array(len).fill(start).map((x, y) => x + y); + const a = new Array(len).fill(start).map((x, y) => x + y); return a; -} +};