From 7945ffb83b6c0008daf6641746f45faa0b620a1c Mon Sep 17 00:00:00 2001 From: othmane Date: Tue, 19 Feb 2019 10:52:41 +0100 Subject: [PATCH] solutions for JS exercises reverseString-removeFromArray-sumAll-leapYears-tempConversion --- leapYears/leapYears.js | 12 +++++++++++- leapYears/leapYears.spec.js | 10 +++++----- removeFromArray/removeFromArray.js | 8 +++++++- removeFromArray/removeFromArray.spec.js | 10 +++++----- reverseString/reverseString.spec.js | 2 +- sumAll/sumAll.js | 22 ++++++++++++++++++---- sumAll/sumAll.spec.js | 10 +++++----- tempConversion/tempConversion.js | 10 ++++++---- tempConversion/tempConversion.spec.js | 10 +++++----- 9 files changed, 63 insertions(+), 31 deletions(-) diff --git a/leapYears/leapYears.js b/leapYears/leapYears.js index ac786a2..5bedcc6 100644 --- a/leapYears/leapYears.js +++ b/leapYears/leapYears.js @@ -1,5 +1,15 @@ -const leapYears = function() { +const leapYears = function(years) { + if(years % 4 == 0 && years % 100 != 0){ + isLeapYear = true; + + }else if(years % 400 == 0){ + isLeapYear = true; + + }else{ + isLeapYear = false; + } + return isLeapYear; } module.exports = leapYears diff --git a/leapYears/leapYears.spec.js b/leapYears/leapYears.spec.js index 0d4d7d4..f4cdea8 100644 --- a/leapYears/leapYears.spec.js +++ b/leapYears/leapYears.spec.js @@ -4,19 +4,19 @@ describe('leapYears', function() { it('works with non century years', function() { expect(leapYears(1996)).toEqual(true); }); - xit('works with non century years', function() { + it('works with non century years', function() { expect(leapYears(1997)).toEqual(false); }); - xit('works with ridiculously futuristic non century years', function() { + it('works with ridiculously futuristic non century years', function() { expect(leapYears(34992)).toEqual(true); }); - xit('works with century years', function() { + it('works with century years', function() { expect(leapYears(1900)).toEqual(false); }); - xit('works with century years', function() { + it('works with century years', function() { expect(leapYears(1600)).toEqual(true); }); - xit('works with century years', function() { + it('works with century years', function() { expect(leapYears(700)).toEqual(false); }); }); diff --git a/removeFromArray/removeFromArray.js b/removeFromArray/removeFromArray.js index 11efd5c..a03105d 100644 --- a/removeFromArray/removeFromArray.js +++ b/removeFromArray/removeFromArray.js @@ -1,5 +1,11 @@ -const removeFromArray = function() { + +const removeFromArray = function(...args) { + var Arr = args[0]; + newArr = Arr.filter(x=> !args.includes(x)); + return newArr; } + + module.exports = removeFromArray diff --git a/removeFromArray/removeFromArray.spec.js b/removeFromArray/removeFromArray.spec.js index 28c744c..6185342 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"]); }); }); diff --git a/reverseString/reverseString.spec.js b/reverseString/reverseString.spec.js index 20280bf..a7a543e 100644 --- a/reverseString/reverseString.spec.js +++ b/reverseString/reverseString.spec.js @@ -9,7 +9,7 @@ describe('reverseString', function() { expect(reverseString('hello there')).toEqual('ereht olleh') }) - xit('works with numbers and punctuation', function() { + it('works with numbers and punctuation', function() { expect(reverseString('123! abc!')).toEqual('!cba !321') }) }); diff --git a/sumAll/sumAll.js b/sumAll/sumAll.js index 4030fe8..14955d9 100644 --- a/sumAll/sumAll.js +++ b/sumAll/sumAll.js @@ -1,5 +1,19 @@ -const sumAll = function() { - -} - +const sumAll = function(a,b) { + if (typeof(a) != "number" || typeof(b) != "number" || a<0 || b<0){ + return "ERROR" + }else{ + if(a