diff --git a/balanced-brackets/index.js b/balanced-brackets/index.js index f641186..a3eee5e 100644 --- a/balanced-brackets/index.js +++ b/balanced-brackets/index.js @@ -14,7 +14,7 @@ process.stdin.on('data', function (chunk) { // Trim the chunk input chunk = chunk.trim(); // Process every character on input - for (var i = 0; i < chunk.length; i++) { + for (var i = 0, l = chunk.length; i < l; i++) { if (brackets[stack[stack.length - 1]] === chunk[i]) { stack.pop(); } else { diff --git a/bubble-sort/index.js b/bubble-sort/index.js index 3d9644c..5ab8807 100644 --- a/bubble-sort/index.js +++ b/bubble-sort/index.js @@ -11,7 +11,7 @@ var bubbleSort = function (array) { throw new Error('Give me an array'); } - for (var i = 0; i < array.length; i++) { + for (var i = 0, l = array.length; i < l; i++) { if (array[i] > array[i + 1]) { switchArray(array, i, i + 1); var length = i; diff --git a/first-non-repeated-character/index.js b/first-non-repeated-character/index.js index a5323f6..b0f4d8d 100644 --- a/first-non-repeated-character/index.js +++ b/first-non-repeated-character/index.js @@ -17,10 +17,10 @@ var firstNonRepeatedCharacter = function (string) { // Return false to say it's not been repeated return false; }; - })(); + }()); // Interate one extra time past the last character - for (var i = 0; i <= string.length; i++) { + for (var i = 0, l = string.length; i <= l; i++) { if (checkChar(string[i])) { return prevCharacter; } } }; diff --git a/flatten-array/index.js b/flatten-array/index.js index c3739c7..925fd0f 100644 --- a/flatten-array/index.js +++ b/flatten-array/index.js @@ -2,7 +2,7 @@ var flatten = function (input) { var output = []; - for (var i = 0; i < input.length; i++) { + for (var i = 0, l = input.length; i < l; i++) { // Using Array.isArray for new browsers, in older browsers this can be // polyfilled using `Object.prototype.toString.call(input[i]) === '[object Array]'` if (Array.isArray(input[i])) { diff --git a/get-elements-by-class-name/index.js b/get-elements-by-class-name/index.js index 3b9bbdb..431f51f 100644 --- a/get-elements-by-class-name/index.js +++ b/get-elements-by-class-name/index.js @@ -6,7 +6,7 @@ var getElementsByClassName = function (className) { var currentNode, currentClass; // Loop through all the child nodes - for (var i = 0; i < node.childNodes.length; i++) { + for (var i = 0, l = node.childNodes.length; i < l; i++) { currentNode = node.childNodes[i]; currentClass = currentNode.className; // Check if the class name exists within the current nodes class @@ -31,7 +31,7 @@ var getElementsByClassName = function (className) { // Loop through all the elements checking the class names against the // regular expression - when it suceeds just push it into the output array - for (var i = 0; i < elements.length; i++) { + for (var i = 0, l = elements.length; i < l; i++) { if (regex.test(elements[i].className)) { found.push(elements[i]); } diff --git a/longest-palindrome/index.js b/longest-palindrome/index.js index 509d56c..175e05d 100644 --- a/longest-palindrome/index.js +++ b/longest-palindrome/index.js @@ -8,7 +8,7 @@ var getLongestPalindrome = function (str) { palindromes.push(result); }; - for (var i = 0; i < str.length; i++) { + for (var i = 0, l = str.length; i < l; i++) { if (str[i] === str[i - 1]) { walkPalindrome(str[i] + str[i - 1], str, i - 1, i); } else if (str[i] === str[i + 1]) { diff --git a/nth-fibonacci/Readme.md b/nth-fibonacci/Readme.md index b2ba199..d386850 100644 --- a/nth-fibonacci/Readme.md +++ b/nth-fibonacci/Readme.md @@ -6,6 +6,6 @@ For example, the first five Fibonacci numbers are: 0 1 1 2 3 ``` -If n were 4, your function should return 2; for 5, it should return 3. +If n were 4, your function should return 3; for 5, it should return 5. Write a function that accepts a number, n, and returns the nth Fibonacci number. Use a recursive solution to this problem; if you finish with time left over, implement an iterative solution. diff --git a/nth-fibonacci/index.js b/nth-fibonacci/index.js new file mode 100644 index 0000000..6d66942 --- /dev/null +++ b/nth-fibonacci/index.js @@ -0,0 +1,3 @@ +var fib = function(n) { + return (n === 0 || n === 1) ? n : fib(n - 1) + fib(n - 2); +}; diff --git a/subset-of-array/index.js b/subset-of-array/index.js index f0daed9..d7c80c1 100644 --- a/subset-of-array/index.js +++ b/subset-of-array/index.js @@ -14,7 +14,7 @@ var isSubsetOf = function (parent, child) { return checkChild(a, child[childIndex], true); }; - for (var i = 0; i < parent.length; i++) { + for (var i = 0, l = parent.length; i < l; i++) { if (checkChild(parent[i], child[childIndex])) { return true; } } diff --git a/sum-of-array-plus-one/index.js b/sum-of-array-plus-one/index.js index b158fbd..28e2c40 100644 --- a/sum-of-array-plus-one/index.js +++ b/sum-of-array-plus-one/index.js @@ -9,7 +9,7 @@ var plus_one_sum = function (array) { var plus_one_sum = function (array) { var result = 0; - for (var i = 0; i < array.length; i++) { + for (var i = 0, l = array.length; i < l; i++) { result += array[i] + 1; }