From 300930e15ae11139aebc8f542f7c4fffde06dcd2 Mon Sep 17 00:00:00 2001 From: Denzel Date: Thu, 2 Jan 2020 15:07:10 +0800 Subject: [PATCH] finished removeFromArray.js exercise --- removeFromArray/removeFromArray.js | 15 ++++++++++++--- removeFromArray/removeFromArray.spec.js | 12 ++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/removeFromArray/removeFromArray.js b/removeFromArray/removeFromArray.js index 11efd5c..2af1ffc 100644 --- a/removeFromArray/removeFromArray.js +++ b/removeFromArray/removeFromArray.js @@ -1,5 +1,14 @@ -const removeFromArray = function() { - +const removeFromArray = function(array, ...items) { + items.forEach(item => { + if (array.indexOf(item) >= 0) { + const index = array.indexOf(item); + array.splice(index, 1); + } else { + return + } + }) + console.log(array); + return array; } -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 28c744c..5ca11cb 100644 --- a/removeFromArray/removeFromArray.spec.js +++ b/removeFromArray/removeFromArray.spec.js @@ -4,19 +4,19 @@ 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() { + it('removes multiple values', function() { expect(removeFromArray([1, 2, 3, 4], 3, 2)).toEqual([1, 4]); }); - xit('ignores non present values', function() { + it('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() { + it('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() { + it('can remove all values', function() { expect(removeFromArray([1, 2, 3, 4], 1, 2, 3, 4)).toEqual([]); }); - xit('works with strings', function() { + it('works with strings', function() { expect(removeFromArray(["hey", 2, 3, "ho"], "hey", 3)).toEqual([2, "ho"]); }); -}); +}); \ No newline at end of file