From 20484dc30faa58c0cf244d87cd3b12c63e964fbb Mon Sep 17 00:00:00 2001 From: Mateusz Bujak <62397807+M-Bujak@users.noreply.github.com> Date: Fri, 22 Jul 2022 17:18:30 +0200 Subject: [PATCH] Solved exercise 04 --- 04_removeFromArray/removeFromArray.js | 13 ++++++++++--- 04_removeFromArray/removeFromArray.spec.js | 12 ++++++------ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/04_removeFromArray/removeFromArray.js b/04_removeFromArray/removeFromArray.js index 1bedeb0..f5874b6 100644 --- a/04_removeFromArray/removeFromArray.js +++ b/04_removeFromArray/removeFromArray.js @@ -1,6 +1,13 @@ -const removeFromArray = function() { - +const removeFromArray = function () { + array = arguments[0]; + for (let i = 1; i < arguments.length; i++) { + let index = array.indexOf(arguments[i]); + if (index != -1) { + array.splice(index, 1); + } + } + return array; }; // Do not edit below this line -module.exports = removeFromArray; +module.exports = removeFromArray; \ No newline at end of file diff --git a/04_removeFromArray/removeFromArray.spec.js b/04_removeFromArray/removeFromArray.spec.js index 21f34cf..c17239a 100644 --- a/04_removeFromArray/removeFromArray.spec.js +++ b/04_removeFromArray/removeFromArray.spec.js @@ -4,22 +4,22 @@ describe('removeFromArray', () => { test('removes a single value', () => { expect(removeFromArray([1, 2, 3, 4], 3)).toEqual([1, 2, 4]); }); - test.skip('removes multiple values', () => { + test('removes multiple values', () => { expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]); }); - test.skip('ignores non present values', () => { + test('ignores non present values', () => { expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]); }); - test.skip('ignores non present values, but still works', () => { + test('ignores non present values, but still works', () => { expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]); }); - test.skip('can remove all values', () => { + test('can remove all values', () => { expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]); }); - test.skip('works with strings', () => { + test('works with strings', () => { expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]); }); - test.skip('only removes same type', () => { + test('only removes same type', () => { expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]); }); });