diff --git a/problems/code1.html b/problems/code1.html new file mode 100644 index 0000000..51a21be --- /dev/null +++ b/problems/code1.html @@ -0,0 +1,7 @@ +function f() { + return "hello"; +} +var x = f(); +var y = f(); +var z = x + y; +console.log(z); diff --git a/problems/code1.js b/problems/code1.js new file mode 100644 index 0000000..51a21be --- /dev/null +++ b/problems/code1.js @@ -0,0 +1,7 @@ +function f() { + return "hello"; +} +var x = f(); +var y = f(); +var z = x + y; +console.log(z); diff --git a/problems/problem1.js b/problems/problem1.js index 6d7505c..6e37962 100644 --- a/problems/problem1.js +++ b/problems/problem1.js @@ -2,18 +2,31 @@ var assert = require('assert'); // we need 5 test cases. I provided 1 input let inputs = [ - "" + "", + "abc", + "123", + "monkey", + "bird" + + ] let outputs = [ - + undefined, + "a", + "1", + "m", + "b" ] -// Make this function return the first letter of the string that is passed to it. If the string does not have a first letter, return undefined function f(str) { - + if (str[0] === undefined) {return undefined; +} + return str[0]; } + + function runTest(i) { var expected = outputs[i]; var actual = f(inputs[i]); diff --git a/problems/problem10.js b/problems/problem10.js index e7eddde..5b66454 100644 --- a/problems/problem10.js +++ b/problems/problem10.js @@ -2,10 +2,20 @@ var assert = require('assert'); // we need 5 test cases. let inputs = [ + "hello world", + "monster truck", + "ooga booga chattanooga", + "your mom dot com", + "yo wassup" ] let outputs = [ + "Hello World", + "Monster Truck", + "Ooga Booga Chattanooga", + "Your Mom Dot Com", + "Yo Wassup" ] @@ -16,9 +26,17 @@ f("hello world"); // Hello World f("ALL YOUR BASE ARE BELONG"); // All Your Base Are Belong */ +newArr = str.split(" "); + function f(str) { - +for ( var i = 0; i <= newArr[i].length; i++) { + newArr[i].charAt(0).toUpperCase(); +} return newArr[i]; +newArr[i].join(" "); +console.log(newArr); } +str = newArr + function runTest(i) { if(i > inputs.length) throw new Error("You do not have enough test cases"); diff --git a/problems/problem11.js b/problems/problem11.js index a9db8bc..87aa17b 100644 --- a/problems/problem11.js +++ b/problems/problem11.js @@ -27,5 +27,5 @@ runTest(0); runTest(1); runTest(2); runTest(3); -runTest(4); +runTest(4);g diff --git a/problems/problem12.js b/problems/problem12.js index 2947d1b..5a66743 100644 --- a/problems/problem12.js +++ b/problems/problem12.js @@ -1,11 +1,15 @@ var assert = require('assert'); // we need 5 test cases. -let inputs = [ +let inputs = [ [[1,2,3,4,5],[9,8,3,6]], + [[1,3,4,5,6][1,3,4,5,8,6]], + [["boat","bus","tree"], [["green","dog,","boat"]]], + [] + , ] -let outputs = [ +let outputs = [[1,2,4,5,8,9,6], ] @@ -19,14 +23,33 @@ uniqueElements([0,1,2,3], [1,3,4,5]); // [0,4,5] uniqueElements([1,2,3], [1,2,3]); // [] uniqueElements(2,3); // undefined, not arrays */ -function f(arr1, arr2) { +var newArr =[]; + +function f(arr1) { -} + var arr1 = arr[0]; + var arr2 = arr[1]; + for (var i =0; i < arr1.length; i++) { + var inArray2 = false; + var array1Element = arr1[i]; + for(var j = 0; j < arr2.length; j++) { + var array2Element = arr2[j]; + if (array1Element == array2Element) inArray2 = true; + } + if (!inArray2 { + ret.push(arr1[i]); + + } + + } + return Array1 + } +console.log(newArr); function runTest(i) { if(i > inputs.length) throw new Error("You do not have enough test cases"); var expected = outputs[i]; - var actual = f(inputs[i]); + var actual = f(...inputs[i]); assert.deepEqual(actual, expected); } diff --git a/problems/problem12a.js b/problems/problem12a.js new file mode 100644 index 0000000..d66008a --- /dev/null +++ b/problems/problem12a.js @@ -0,0 +1,62 @@ +var assert = require('assert'); + +// we need 5 test cases. +let inputs = [ [[1,2,3,4,5],[9,8,3,6]], + [[1,3,4,5,6][1,3,4,5,8,6]], + [["boat","bus","tree"], [["green","dog,","boat"]]], + [] + , + +] + +let outputs = [[1,2,4,5,8,9,6], + +] + +/* +Make this function return the elements that are unique to array1 and array2. +If there are no unique elements return an empty array. +If the inputs are anything other than arrays, return undefined. +For example: + +uniqueElements([0,1,2,3], [1,3,4,5]); // [0,4,5] +uniqueElements([1,2,3], [1,2,3]); // [] +uniqueElements(2,3); // undefined, not arrays +*/ +var newArr =[]; +function member () {} + +function f(arr1) { + + var arr1 = arr[0]; + var arr2 = arr[1]; + for (var i =0; i < arr1.length; i++) { + var inArray2 = false; + var array1Element = arr1[i]; + for(var j = 0; j < arr2.length; j++) { + var array2Element = arr2[j]; + if (array1Element == array2Element) inArray2 = true; + } + if (!inArray2) {return + ret.push(arr1[i]); + + } + + } + return Array1 + } + +console.log(newArr); +function runTest(i) { + if(i > inputs.length) throw new Error("You do not have enough test cases"); + var expected = outputs[i]; + var actual = f(...inputs[i]); + assert.deepEqual(actual, expected); +} + +runTest(0); +runTest(1); +runTest(2); +runTest(3); +runTest(4); + diff --git a/problems/problem13.js b/problems/problem13.js index 90669e3..3c73ef3 100644 --- a/problems/problem13.js +++ b/problems/problem13.js @@ -1,11 +1,20 @@ var assert = require('assert'); // we need 5 test cases. -let inputs = [ +let inputs = ["racecar", + "oogoo", + "zangazanga", + "boottoob", + "oke2doke343" ] let outputs = [ + true, + true, + false, + true, + false ] @@ -16,16 +25,23 @@ RADAR -> Yes JAVASCRIPT -> No */ function f(str) { + var cleanstr = str.replace(/[^a-z/]/ig, "").toLowerCase(); + + var invertedstr = cleanstr.split("").reverse().join(""); + + return cleanstr === invertedstr; + } function runTest(i) { - if(i > inputs.length) throw new Error("You do not have enough test cases"); + var expected = outputs[i]; var actual = f(inputs[i]); - assert.deepEqual(actual, expected); + assert.deepEqual(expected, actual); } + runTest(0); runTest(1); runTest(2); diff --git a/problems/problem2.js b/problems/problem2.js index d54ae74..5ef2ef0 100644 --- a/problems/problem2.js +++ b/problems/problem2.js @@ -1,18 +1,29 @@ var assert = require('assert'); // we need 5 test cases. -let inputs = [ +let inputs = ["", + "baby", + "dingo", + "night", + "cheese" ] -let outputs = [ +let outputs = [undefined, + "y", + "o", + "t", + "e" ] // Make this function return the last letter of the string that is passed to it. If the string does not have a last letter, return undefined -function f(str) { - +function f(str) { if (str == undefined) {return undefined; } +return str[str.length-1]; +} + + function runTest(i) { var expected = outputs[i]; diff --git a/problems/problem3.js b/problems/problem3.js index 11358c6..20a795b 100644 --- a/problems/problem3.js +++ b/problems/problem3.js @@ -3,24 +3,40 @@ var assert = require('assert'); // we need 7 test cases. I've provided 2. let inputs = [ [2, 4], - [-3, 3] -] + [-3, 3], + [2,6], + [4,8], + [2,3], + [6,2], + [7,1] +] let outputs = [ 6, - 0 + 0, + 12, + 6, + undefined, + undefined, + 7 + ] /* Make this function return the sum of the two numbers that are passed to it. If one of the numbers is not passed, or if anything other than numbers are passed, return undefined. */ function f(x, y) { +if (isNAN(x) || isNAN(y)) { return undefined; +} + + let sum = x + y; +if } function runTest(i) { var expected = outputs[i]; - var actual = f(inputs[i]); + var actual = f(...inputs[i]); assert.deepEqual(actual, expected); } diff --git a/problems/problem4.js b/problems/problem4.js index 4082082..a607dd1 100644 --- a/problems/problem4.js +++ b/problems/problem4.js @@ -1,16 +1,32 @@ + var assert = require('assert'); // we need 8 test cases. I've provided the first 2 let inputs = [ ["hello", 4], - ["", 2] + ["", 2], + ["wow", 2], + ["there", 2], + ["some", 2], + ["kind", 1], + ["of", 1] + ] let outputs = [ "o", - undefined + undefined, + "w", + "e", + "m", + "i", + "f" ] + + + + /* Make this function return the letter at the specified position in the string. If no such letter exists, it should return undefined. @@ -20,9 +36,10 @@ f("", 4); // undefined f("abc", 0); // a */ -function f(str, index) { - -} +function f(str, index) { + let letter = str[index]; + return letter; +} function runTest(i) { var expected = outputs[i]; diff --git a/problems/problem5.js b/problems/problem5.js index b1e2e44..23d0b15 100644 --- a/problems/problem5.js +++ b/problems/problem5.js @@ -2,26 +2,44 @@ var assert = require('assert'); // we need 5 test cases. let inputs = [ - [2, 7] + [2, 7], + [-3, 4], + ["hi", 8], + [6, undefined], + [3, 9] + ] let outputs = [ - 14 + 14, + -12, + undefined, + undefined, + 27 ] /* Make this function return the product of the two numbers that are passed to it. If one of the numbers is not passed, or if anything other than numbers are passed, return undefined. */ function f(x, y) { - + + if (isNaN(x) || isNaN(y)) { + return undefined + } + + let answer = x * y; + return answer; } + + function runTest(i) { if(i > inputs.length) throw new Error("You do not have enough test cases"); var expected = outputs[i]; - var actual = f(inputs[i]); + var actual = f(...inputs[i]); assert.deepEqual(actual, expected); -} + + } runTest(0); runTest(1); diff --git a/problems/problem6.js b/problems/problem6.js index d31ae17..0899526 100644 --- a/problems/problem6.js +++ b/problems/problem6.js @@ -4,11 +4,20 @@ var assert = require('assert'); // we need 6 test cases. let inputs = [ ["add", 10, 20], - ["chair", 20, 10] + ["chair", 20, 10], + ["sub", 33, -12], + ["mult", 6,12], + ["add", 9,5], + [123, 43, 5] ] let outputs = [ - 30 + 30, + undefined, + 45, + 72, + 14, + undefined ] /* @@ -22,13 +31,29 @@ f("spoof", 10, 10); // undefined */ function f(operation, firstArgument, secondArgument) { + //console.log(operation); + if (isNaN(firstArgument) || isNaN(secondArgument)){ + //console.log(operation); + return undefined; -} + } else if (operation == "add"){ + return firstArgument + secondArgument; + } + else if (operation == "sub"){ + return firstArgument - secondArgument; + } + else if (operation == "mult") { + return firstArgument * secondArgument; + } + + } + function runTest(i) { - if(i > inputs.length) throw new Error("You do not have enough test cases"); + if (i > inputs.length) throw new Error("You do not have enough test cases"); var expected = outputs[i]; - var actual = f(inputs[i]); + //console.log("hereee",actual); + var actual = f(...inputs[i]); assert.deepEqual(actual, expected); } diff --git a/problems/problem7.js b/problems/problem7.js index c3bf4b1..c3dcf31 100644 --- a/problems/problem7.js +++ b/problems/problem7.js @@ -2,10 +2,28 @@ var assert = require('assert'); // we need 7 test cases. let inputs = [ + ["foe", 2] + ["fum", 6], + ["bing", 3] + ["where", 2], + ["aAAaAa", -3], + ["zoob",-2], + ["bAzINnGA",8] + ] let outputs = [ + "foefoe", + "fumfumfumfumfumfum", + "bingbingbing", + "wherewhere", + "", + "", + "bAzINnGAbAzINnGAbAzINnGAbAzINnGAbAzINnGAbAzINnGAbAzINnGAbAzINnGA" + + + ] @@ -20,13 +38,26 @@ f("fo", 3) // "fofofo" f("foo", -1) // undefined */ function f(str, n) { + if (isNaN(str) || isNaN(n)) { + return undefined; + } else if (Math.sign(n) == -1 || Math.sign(n) == 0){ + console.log("heyheyhey, str"); + return ""; + console.log("yoyoyoyoyo",str); + } else if (typeof str === "string"){ + return str.repeat(n); + } else if (typeof str === "number") { + return undefined; + } + + } -} + function runTest(i) { if(i > inputs.length) throw new Error("You do not have enough test cases"); var expected = outputs[i]; - var actual = f(inputs[i]); + var actual = f(...inputs[i]); assert.deepEqual(actual, expected); } diff --git a/problems/problem8.js b/problems/problem8.js index 6165932..45bada4 100644 --- a/problems/problem8.js +++ b/problems/problem8.js @@ -1,25 +1,45 @@ var assert = require('assert'); // we need 5 test cases. -let inputs = [ +let inputs = ["daddy", + "bilbo", + "racecar", + "dangodango", + "bicycle" ] -let outputs = [ +let outputs = ["yddad", + "oblib", + "racecar", + "dangodango", + "elcycib" ] - +var newArr = []; /* Make this function return the input string, reversed. For example "hello" would return "olleh" and "how are you" would return "uoy era woh". You must use a for loop for this exercise. */ function f(str) { + + var arr = str.split(""); + + console.log(arr); + for (var i = str.length; i > 0; i--) { + newArr.push(arr[i -1]); + + } + return newArr.join; + console.log (newArr.join); + } - + str = newArr.join function runTest(i) { if(i > inputs.length) throw new Error("You do not have enough test cases"); var expected = outputs[i]; + console.log(actual); var actual = f(inputs[i]); assert.deepEqual(actual, expected); } diff --git a/problems/problem9.js b/problems/problem9.js index 5c52ef5..84cffa3 100644 --- a/problems/problem9.js +++ b/problems/problem9.js @@ -1,22 +1,42 @@ var assert = require('assert'); // we need 5 test cases. -let inputs = [ +let inputs = ["hello my name is jimmy", +"I like to ride bicyces", +"have you ever heard the owl call your name", +"I don't know why I swallowed the fly", +"sweet dreams are made of these" ] let outputs = [ - + "jimmy", + "bicycles", + "heard", + "swallowed", + "dreams" + ] /* Make this function return the longest word in the input string. If the input string is empty then return an empty string. If multiple words have the same length, return the last one that matches. */ + +var newArr = [] + function f(str) { - + var splitStr = str.split() + var ret = ""; + for(var i = 0; i < splitStr.length; i++) { + var theString = word[i]; + if(theString.length >= ret.length) { + ret = theString; + } + } + return ret; } - +// control d function runTest(i) { if(i > inputs.length) throw new Error("You do not have enough test cases"); var expected = outputs[i]; diff --git a/problems/testwork.html b/problems/testwork.html new file mode 100644 index 0000000..fd6cdae --- /dev/null +++ b/problems/testwork.html @@ -0,0 +1,19 @@ +let inputs = [ + "", + "abc", + "123", + "monkey", + "bird" + + +] + +let outputs = [ + undefined, + "a", + "1", + "m", + "b", + + +] diff --git a/problems/testwork.js b/problems/testwork.js new file mode 100644 index 0000000..0696164 --- /dev/null +++ b/problems/testwork.js @@ -0,0 +1,28 @@ +let inputs = [ + "", + "abc", + "123", + "monkey", + "bird" + + +] + +let outputs = [ + undefined, + "a", + "1", + "m", + "b", + + +] +function f(str) { if (inputs[0] == "") {return undefined +} else {return inputs[0] + } +} +runTest(0)); +runTest(1); +runTest(2); +runTest(3); +runTest(4); \ No newline at end of file