Skip to content

Instantly share code, notes, and snippets.

@richarddprasad
Created January 30, 2020 02:56
Show Gist options
  • Save richarddprasad/0921048c27922f963a5f9f52f9637351 to your computer and use it in GitHub Desktop.
Save richarddprasad/0921048c27922f963a5f9f52f9637351 to your computer and use it in GitHub Desktop.
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