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 @@ + + + + + + + Document + + + + + + \ No newline at end of file diff --git a/fibonacci/test.js b/fibonacci/test.js new file mode 100644 index 0000000..599bf5f --- /dev/null +++ b/fibonacci/test.js @@ -0,0 +1,23 @@ +function fibonacci (fiboThis) { + + let arrayPosition = []; + + // console.log(fiboThis); + if (fiboThis <= 0) { + console.log("OOPS"); + } else { + for (let i = 0; i < fiboThis; i++) { + // insert arrayPosition1,1,2,3 into array + if (i === 0) { + arrayPosition.push(1); + } else if (i === 1) { + arrayPosition.push(1); + } else { + arrayPosition.push(arrayPosition[i - 2] + arrayPosition[i - 1]); // p2 + } + } + } + console.log(arrayPosition.pop()); + +} +fibonacci(4);