Created
January 30, 2020 02:56
-
-
Save richarddprasad/0921048c27922f963a5f9f52f9637351 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function upperCaseFirst(inputStr) { | |
| var valueOfFirstChar = inputStr.charCodeAt(0); | |
| console.log('Value of first character:', valueOfFirstChar); | |
| var upperCaseLetter = String.fromCharCode(valueOfFirstChar - 32); | |
| console.log('Uppercase first character:', upperCaseLetter); | |
| var restOfString = inputStr.slice(1); | |
| console.log('Rest of the string:', restOfString); | |
| var finalResult = upperCaseLetter + restOfString; | |
| console.log('Final result:', finalResult); | |
| return finalResult; | |
| } | |
| var upperCaseResult = upperCaseFirst('goldfish'); | |
| console.log(upperCaseResult) | |
| /****************************************************************/ | |
| function titleCase(inputStr) { | |
| var tokens = inputStr.split(' '); | |
| console.log('Word tokens:', tokens); | |
| // Option 1: Use map() | |
| var upperCaseTokens1 = tokens.map(word => upperCaseFirst(word)); | |
| console.log('UpperCase1 word tokens:', upperCaseTokens1); | |
| // Option 2: Use a for loop | |
| var upperCaseTokens2 = []; | |
| for (var i = 0; i < tokens.length; i++) { | |
| upperCaseTokens2.push(upperCaseFirst(tokens[i])); | |
| } | |
| console.log('UpperCase2 word tokens:', upperCaseTokens2); | |
| var finalResult = upperCaseTokens1.join(' '); | |
| console.log('Final result:', finalResult); | |
| return finalResult; | |
| } | |
| var titleCaseResult = titleCase('learn how to code for beginners'); | |
| console.log(titleCaseResult, "\n\n"); | |
| function titleCase2(inputStr) { | |
| return inputStr.split(' ').map(w => upperCaseFirst(w)).join(' '); | |
| } | |
| console.log(titleCase2('i am a way shorter implementation')); | |
| /****************************************************************/ | |
| function replaceChar(inputStr, replaceThis, withThis) { | |
| var retval = []; | |
| for (var i = 0; i < inputStr.length; i++) { | |
| if (inputStr[i] === replaceThis) { | |
| retval.push(withThis); | |
| } else { | |
| retval.push(inputStr[i]); | |
| } | |
| } | |
| return retval.join(''); | |
| } | |
| console.log(replaceChar('hello world', 'l', 'X')); // heXXo worXd | |
| /****************************************************************/ | |
| function trimString(inputStr) { | |
| // Step 1 | |
| var firstIndex = 0; | |
| while (firstIndex < inputStr.length && inputStr[firstIndex] === ' ') { | |
| ++firstIndex; | |
| } | |
| console.log('Index of first non-whitespace character:', firstIndex); | |
| // Step 2 | |
| var secondIndex = inputStr.length - 1; | |
| while (secondIndex > firstIndex && inputStr[secondIndex] === ' ') { | |
| --secondIndex; | |
| } | |
| console.log('Index of second non-whitespace character:', secondIndex); | |
| // Step 3 | |
| return inputStr.slice(firstIndex, secondIndex + 1); | |
| } | |
| // Test our algorithm | |
| var untrimmedString = ' i need trimming '; | |
| console.log('Length of untrimmed string:', untrimmedString.length); | |
| var trimmedResult = trimString(untrimmedString); | |
| console.log('After trimming:', trimmedResult); | |
| console.log('Length of trimmed string:', trimmedResult.length); | |
| /****************************************************************/ | |
| function reverseString1(inputStr) { | |
| var retval = []; | |
| var tokens = inputStr.split(''); | |
| for (var i = tokens.length - 1; i >= 0; i--) { | |
| retval.push(inputStr[i]); | |
| } | |
| return retval.join(''); | |
| } | |
| console.log(reverseString1('Hello World')); // dlroW olleH | |
| function reverseString2(inputStr) { | |
| var retval = new Array(inputStr.length); | |
| var tokens = inputStr.split(''); | |
| for (var i = 0, j = tokens.length - 1; i <= j; i++ , j--) { | |
| retval[i] = tokens[j]; | |
| retval[j] = tokens[i] | |
| } | |
| return retval.join(''); | |
| } | |
| console.log(reverseString2('Hello World')); // dlroW olleH |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment