From 41752bf8a4956f0ee868969186f0f10f52c8eb52 Mon Sep 17 00:00:00 2001 From: prolazy <120385747+prolazy@users.noreply.github.com> Date: Tue, 13 Dec 2022 07:44:43 +0000 Subject: [PATCH 1/2] collapse array --- collapse.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 collapse.js diff --git a/collapse.js b/collapse.js new file mode 100644 index 0000000..5d51f9d --- /dev/null +++ b/collapse.js @@ -0,0 +1,14 @@ +function collapse(n) { + const arr = this; + const result = []; + + for (let i = 0; i < arr.length; i++) { + if (Array.isArray(arr[i])) { + result.push(...arr[i]); + } else { + result.push(arr[i]); + } + } + + return result; +} \ No newline at end of file From d749f6a01a9a30a1340ef4ce23eae6bbcc3817af Mon Sep 17 00:00:00 2001 From: prolazy <120385747+prolazy@users.noreply.github.com> Date: Tue, 13 Dec 2022 07:52:26 +0000 Subject: [PATCH 2/2] Slice Method Added --- slice.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 slice.js diff --git a/slice.js b/slice.js new file mode 100644 index 0000000..5e32cab --- /dev/null +++ b/slice.js @@ -0,0 +1,15 @@ +Array.prototype.ownSlice = function ownSlice (str, end) { + const arr = this; + const result = []; + + if (Array.isArray(arr)) { + const loopContinue = end > arr.length ? arr.length : end; + for (let i = str; i < loopContinue; i++) { + result.push(arr[i]); + } + } + return result; +} + +const arr = [1,2,3,4,5]; +console.log(arr.ownSlice(2,4)) \ No newline at end of file