File tree Expand file tree Collapse file tree 2 files changed +92
-0
lines changed
Expand file tree Collapse file tree 2 files changed +92
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ Write a function that accepts a String as an argument
3+
4+ The function should capitalize ONLY every other letter in the String
5+
6+ The function should then return the converted String.
7+
8+ */
9+
10+ // Edge cases
11+ /**
12+ * "" => ""
13+ * letter === character
14+ *
15+ * starting caps at letter index 0
16+ *
17+ * "hello" => "HeLlO"
18+ * "yo eli" => "Yo eLi"
19+ * "hello????" => "HeLlO????"
20+ * "HELLO" => "HeLlO"
21+ */
22+
23+ const camelLetters = ( str ) => {
24+ let camelStr = "" ;
25+ for ( let i = 0 ; i < str . length ; i ++ ) {
26+ // const element = array[i];
27+ // str = str[i].toUpperCase();
28+ // str = str.replaceAt(i, str[i].toUpperCase());
29+ // camelStr[i] = camelStr[i].toUpperCase();
30+ // console.log(str[i])
31+
32+ camelStr += i % 2 === 0 ? str [ i ] . toUpperCase ( ) : str [ i ] ;
33+ }
34+ // console.log([...str].map((st, index) => index % 2 ? st.toUpperCase() : st).join(""))
35+
36+ // console.log(camelStr);
37+ // return camelStr.join("");
38+ return camelStr ;
39+ } ;
40+
41+ console . log ( camelLetters ( "hello" ) ) ;
42+ // camelLetters("yo eli")
43+ // camelLetters("hello????")
Original file line number Diff line number Diff line change 1+ /*
2+ Write a function that accepts a String as an argument.
3+
4+ The String is supposed to be HTML, but all the div elements are missing their closing tags (they have the < and >)
5+
6+ The function's job is to find and close all the divs in the provided HTML String
7+
8+ The function should return the entire corrected String.
9+ */
10+
11+ // Edge cases
12+ /**
13+ * "<div><p>Here is a tag</p><div>" => "<div><p>Here is a tag</p></div>"
14+ *
15+ * "<div><div><p>Hello World</p><div><div>" => "<div></div><p>Here is a tag</p><div></div>"
16+ *
17+ * Second div should be closed div
18+ */
19+
20+ const closeSecondDivs = ( str ) => {
21+ let divCounter = 0 ;
22+ let unknownFour = "" ;
23+ let fixedHTML = "" ;
24+
25+ for ( let i = 0 ; i < str . length ; i ++ ) {
26+ if ( str [ i ] === "<" ) {
27+ for ( let j = 1 ; j < 5 ; j ++ ) {
28+ unknownFour += str [ i + j ] ;
29+ }
30+ }
31+
32+ if ( unknownFour === "div>" ) {
33+ divCounter ++ ;
34+ if ( divCounter % 2 === 0 ) {
35+ fixedHTML += str [ i ] + "/" ;
36+ unknownFour = "" ;
37+ continue ;
38+ }
39+ }
40+
41+ fixedHTML += str [ i ] ;
42+ unknownFour = "" ;
43+ }
44+
45+ return fixedHTML ;
46+ } ;
47+
48+ console . log ( closeSecondDivs ( "<div><p>Here is a tag</p><div>" ) ) ;
49+ console . log ( closeSecondDivs ( "<div><div><p>Hello World</p><div><div>" ) ) ;
You can’t perform that action at this time.
0 commit comments