Skip to content

Commit ed5229e

Browse files
committed
Create Letter Changes
1 parent 09efc4b commit ed5229e

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

Letter Changes

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/***************************************************************************************
2+
* *
3+
* CODERBYTE BEGINNER CHALLENGE *
4+
* *
5+
* Letter Changes *
6+
* Using the JavaScript language, have the function LetterChanges(str) take the str *
7+
* parameter being passed and modify it using the following algorithm. Replace every *
8+
* letter in the string with the letter following it in the alphabet *
9+
* (ie. c becomes d, z becomes a). Then capitalize every vowel in this new string *
10+
* (a, e, i, o, u) and finally return this modified string. *
11+
* *
12+
* SOLUTION *
13+
* You have to realize that the string passed in may contain items other than letters *
14+
* of the alphabet. If you find a character that is not a-z then just pass it along *
15+
* to the newStr as is without any modification. I am going to compare each letter *
16+
* in the string to the alphabet string. If the letter is found then I am going to *
17+
* return the next letter in the string unless the letter is z and them I am going *
18+
* to return a. When finished I am going to use a RegExp to replace all lower case *
19+
* vowels with upper case.
20+
* *
21+
* Steps for solution *
22+
* 1) Create alphabet string that contains all letters of the alphabet *
23+
* 2) Loop through each letter in the string *
24+
* 3) If letter is Z then return a *
25+
* 4) If letter is not a-z then return letter as is to newStr *
26+
* 5) If letter is a-z then return the next character in the alphabet string *
27+
* 6) Replace all vowels with upper case with a RegExp replace() function *
28+
* *
29+
***************************************************************************************/
30+
31+
function LetterChanges(str) {
32+
33+
var alphabet = "abcdefghijklmnopqrstuvwxyz";
34+
var newStr = "";
35+
var loc;
36+
37+
for (var i = 0; i < str.length; i++) {
38+
loc = alphabet.indexOf(str[i]);
39+
if (loc === 25) {
40+
newStr = newStr + "a";
41+
} else if (loc === -1) {
42+
newStr = newStr + str[i];
43+
} else {
44+
newStr = newStr + alphabet[loc + 1];
45+
}
46+
}
47+
48+
return newStr.replace(/[aeiou]/g, function(letter) {return letter.toUpperCase()});
49+
50+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy