From 3699f94da99551710869307ba99602a3441b85b9 Mon Sep 17 00:00:00 2001 From: Mohammed Nabeel Date: Wed, 15 Jul 2020 18:06:28 +0300 Subject: [PATCH] Created code to remove a single value --- removeFromArray/removeFromArray.js | 14 ++++++-- removeFromArray/removeFromArray.spec.js | 44 ++++++++++++------------- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/removeFromArray/removeFromArray.js b/removeFromArray/removeFromArray.js index 11efd5c..3b9fc89 100644 --- a/removeFromArray/removeFromArray.js +++ b/removeFromArray/removeFromArray.js @@ -1,5 +1,15 @@ -const removeFromArray = function() { +const removeFromArray = function(...args) { + + let myArray = args[0]; + let pos = 0; + + for (let i = 1; i < args.length; i++) { + pos = myArray.indexOf(args[i]); + myArray.splice(pos, 1); + } + + return myArray; } -module.exports = removeFromArray +module.exports = removeFromArray \ No newline at end of file diff --git a/removeFromArray/removeFromArray.spec.js b/removeFromArray/removeFromArray.spec.js index f60239a..cf268c1 100644 --- a/removeFromArray/removeFromArray.spec.js +++ b/removeFromArray/removeFromArray.spec.js @@ -1,25 +1,25 @@ const removeFromArray = require('./removeFromArray') describe('removeFromArray', function() { - it('removes a single value', function() { - expect(removeFromArray([1, 2, 3, 4], 3)).toEqual([1, 2, 4]); - }); - xit('removes multiple values', function() { - expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]); - }); - xit('ignores non present values', function() { - expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]); - }); - xit('ignores non present values, but still works', function() { - expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]); - }); - xit('can remove all values', function() { - expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]); - }); - xit('works with strings', function() { - expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]); - }); - xit('only removes same type', function() { - expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]); - }); -}); + it('removes a single value', function() { + expect(removeFromArray([1, 2, 3, 4], 3)).toEqual([1, 2, 4]); + }); + xit('removes multiple values', function() { + expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]); + }); + xit('ignores non present values', function() { + expect(removeFromArray([1, 2, 3, 4], 7, "tacos")).toEqual([1, 2, 3, 4]); + }); + xit('ignores non present values, but still works', function() { + expect(removeFromArray([1, 2, 3, 4], 7, 2)).toEqual([1, 3, 4]); + }); + xit('can remove all values', function() { + expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]); + }); + xit('works with strings', function() { + expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]); + }); + xit('only removes same type', function() { + expect(removeFromArray([1, 2, 3], "1", 3)).toEqual([1, 2]); + }); +}); \ No newline at end of file