diff --git a/StringsAndTings.js b/StringsAndTings.js index 4fdca47..ee049a6 100644 --- a/StringsAndTings.js +++ b/StringsAndTings.js @@ -1,28 +1,85 @@ class StringsAndTings { // @return string with identical content, and the first character capitalized + // camelCase(str){ + // let input = "she sells sea shells"; + // let string = input.split(" "); + // for (let i = 0; i = 0; i--){ + rString += str[i]; + } + return rString; } - // @return string with identical contents, in reverse order, with first character capitalized - reverseThenCamelCase(str){ - return null; + + + //reverse each word in a string + reverseWords(str){ + let rWordString = ""; + let rWords = ""; + for(let i = str.length-1; i >=0; i--){ + if (str[i] === " "){ + rWordString = " " + rWords + rWordString; + rWords = ""; + }else {rWords += str[i]} + + } + return rWords + rWordString; } + +//@return string with identical contents, in reverse order, with first character capitalized + + reverseThenCamelCase(str){ + let rString = this.reverseString(str); + let reverseString = rString; + reverseString = this.camelCase(rString); + + return reverseString; + } + // @return string with identical contents excluding first and last character removeFirstAndLastCharacter(str){ - return null; + let newString = ""; + for (let i=1; i { let input = "she sells sea shells"; let expected = "She Sells Sea Shells"; - let actual = stringsAndTings.camelCase(15); + let actual = stringsAndTings.camelCase(input); expect(actual).toEqual(expected); }); @@ -19,7 +19,7 @@ test("reverseTest", () => { let input = "she sells sea shells"; let expected = "sllehs aes slles ehs"; - let actual = stringsAndTings.camelCase(15); + let actual = stringsAndTings.reverseString(input); expect(actual).toEqual(expected); }); @@ -30,7 +30,7 @@ test("reverseWordsTest", () => { let input = "she sells sea shells"; let expected = "ehs slles aes sllehs"; - let actual = stringsAndTings.camelCase(15); + let actual = stringsAndTings.reverseWords(input); expect(actual).toEqual(expected); }); @@ -41,7 +41,7 @@ test("reverseThenCamelCaseTest", () => { let input = "she sells sea shells"; let expected = "Sllehs Aes Slles Ehs"; - let actual = stringsAndTings.camelCase(15); + let actual = stringsAndTings.reverseThenCamelCase(input); expect(actual).toEqual(expected); }); @@ -52,7 +52,7 @@ test("removeFirstAndLastCharacterTest", () => { let input = "she sells sea shells"; let expected = "he sells sea shell"; - let actual = stringsAndTings.camelCase(15); + let actual = stringsAndTings.removeFirstAndLastCharacter(input); expect(actual).toEqual(expected); }); @@ -64,7 +64,7 @@ test("invertCasingTest1", () => { let input = "shE sells SEA sHeLlS"; let expected = "SHe SELLS sea ShElLs"; - let actual = stringsAndTings.camelCase(15); + let actual = stringsAndTings.invertCasing(input); expect(actual).toEqual(expected); });