diff --git a/fibonacci/fibonacci.js b/fibonacci/fibonacci.js index fd597f9..b682b0e 100644 --- a/fibonacci/fibonacci.js +++ b/fibonacci/fibonacci.js @@ -1,4 +1,23 @@ -const fibonacci = function() { +const fibonacci = function(fiboThis) { //4 + +let arrayPosition = []; + +if (fiboThis <= 0) { + //console.log("OOPS"); + return "OOPS"; +} else { + for (let i = 0; i < fiboThis; i++) { + if (i === 0) { + arrayPosition.push(1); + } else if (i === 1) { + arrayPosition.push(1); + } else { + arrayPosition.push(arrayPosition[i - 2] + arrayPosition[i - 1]); + } + } +} +// console.log(arrayPosition); +return arrayPosition.pop(); } diff --git a/fibonacci/fibonacci.spec.js b/fibonacci/fibonacci.spec.js index d7adebe..22084ea 100644 --- a/fibonacci/fibonacci.spec.js +++ b/fibonacci/fibonacci.spec.js @@ -4,22 +4,22 @@ describe('fibonacci', function() { it('works', function() { expect(fibonacci(4)).toEqual(3); }); - xit('works', function() { + it('works', function() { expect(fibonacci(6)).toEqual(8); }); - xit('works', function() { + it('works', function() { expect(fibonacci(10)).toEqual(55); }); - xit('works', function() { + it('works', function() { expect(fibonacci(15)).toEqual(610); }); - xit('works', function() { + it('works', function() { expect(fibonacci(25)).toEqual(75025); }); - xit('doesn\'t accept negatives', function() { + it('doesn\'t accept negatives', function() { expect(fibonacci(-25)).toEqual("OOPS"); }); - xit('DOES accept strings', function() { + it('DOES accept strings', function() { expect(fibonacci("8")).toEqual(21); }); }); diff --git a/fibonacci/test.html b/fibonacci/test.html new file mode 100644 index 0000000..0e165d3 --- /dev/null +++ b/fibonacci/test.html @@ -0,0 +1,13 @@ + + +
+ + + +