CC-06: String Mutations
with Carmen Salas • 2024/10/10
Strings
Strings are made up of chars
. Every char
in a string has a corresponding position index
, allowing direct access to them. As a result, strings are iterable, and indices start at 0
Some string properties/methods:
.length
returns the size of thestring
.toUpperCase()
and.toLowerCase()
works for bothchar
andstring
. This is becausechar
in JavaScript is also astring
.
Concatenation
Various ways to add strings
using the
+
/+=
operator (can be between astr
<->str
,str
<->num
, etc.)using
String
methods like.concat()
,.padEnd()
,.repeat()
Carmen's Code Snippets
//Review of strings
/*
- Strings are made up of characters.
- Every character in a string has a position, this position is called the index. You can access any charcater in a string if you know it's position
- This means that strings are iterable.
- Zero based indices
Some string properties/methods:
- "hello".length === 5
01234
Bracket notation: "hello"[2] //"l"
- .toUpperCase() / .toLowerCase()
Concatenation:
"hello" + "o" -> "helloo"
*/
let str = "hello";
for (let i = 0; i <= str.length - 1; i++) {
console.log(i);
console.log(typeof str[i]);
}
// let empty = "";
// empty += "h";
// console.log(empty);
// empty += "i";
// console.log(empty);
Code Challenge
Declare a function named
reverseString
that takes in a string argument and returns the reversed version of the string, without using any.reverse()
JavaScript methods. Hint: How can you use a loop iterate through a string backwards?
const reverseString = (str) => {
res = "";
for (let i = str.length-1; i >= 0; i--) {
res += str[i];
}
return res
}
// console.log(reverseString("hello")) //"olleh"
// console.log(reverseString("oo")) //"oo"
// console.log(reverseString("")) //""
Declare a function named
reverseZigZagString
that takes in a string argument and returns the reversed version of the string with characters alternating in uppercase and lowercase, without using any.reverse()
JavaScript methods.
const reverseZigZagString = (str) => {
// setup:
// `res` to build up
// `small` to alternate properly when string length is even
res = "";
let small = true;
for (let i = str.length-1; i >= 0; i--) {
// account for spaces
if (str[i] == ' ') {
res += str[i];
continue;
}
// alternate chars
(small) ? res += str[i].toLowerCase() : res += str[i].toUpperCase();
small = !small;
}
return res;
}
// console.log(reverseZigZagString("hello")) //"oOlLeH"
// console.log(reverseZigZagString("Fellows")) //"sWoLlEf"
// console.log(reverseZigZagString("Code Challenge")) //"eGnElLaHc EdOc"
Last updated