
주어진 문자열의 첫 글자를 대문자로 변환하는 함수 ucFirst(str)를 구현할 수 있다.
str이 빈 문자열인지 확인한다.if (!str)을 이용해 확인한다.str[0].toUpperCase()를 사용한다.slice(1)을 사용하여 잘라낸다.slice(1)은 첫 번째 글자를 제외한 나머지 문자열을 반환한다.+ 연산자를 사용하여 두 부분을 연결한다.function ucFirst(str) {
if (!str) return str; // 문자열이 비어있다면 그대로 반환한다.
return str[0].toUpperCase() + str.slice(1); // 첫 글자를 대문자로 변환하고 나머지 문자열을 붙인다.
}
console.log(ucFirst("john")); // "John"을 출력한다.
console.log(ucFirst("")); // ""(빈 문자열)을 출력한다.
console.log(ucFirst("a")); // "A"를 출력한다.
문자열에 특정 단어(viagra, xxx)가 포함되어 있는지 확인하는 함수 checkSpam(str)를 구현할 수 있다. 문자열은 대소문자를 구분하지 않고 검사한다.
toLowerCase()를 사용한다.viagra, xxx)가 문자열에 포함되어 있는지 확인한다.includes() 메서드를 사용하여 부분 문자열을 검색한다.true, 그렇지 않으면 false를 반환한다.function checkSpam(str) {
let lowerStr = str.toLowerCase(); // 문자열을 소문자로 변환한다.
return lowerStr.includes("viagra") || lowerStr.includes("xxx"); // 특정 단어를 포함하고 있는지 확인한다.
}
console.log(checkSpam("buy ViAgRA now")); // true를 출력한다.
console.log(checkSpam("free xxxxx")); // true를 출력한다.
console.log(checkSpam("innocent rabbit"));// false를 출력한다.
문자열이 특정 길이를 초과하면 끝에 생략 부호("…")를 붙여 반환하는 함수 truncate(str, maxlength)를 구현할 수 있다.
maxlength보다 큰지 확인한다.str.length를 사용한다.maxlength보다 크면, maxlength - 1만큼의 길이를 남기고 나머지 부분을 생략 부호("…")로 대체한다.slice(0, maxlength - 1)을 사용한다.maxlength보다 작거나 같으면 원래 문자열을 그대로 반환한다.function truncate(str, maxlength) {
if (str.length > maxlength) {
return str.slice(0, maxlength - 1) + "…"; // 문자열을 자르고 "…"를 붙인다.
}
return str; // 문자열이 maxlength보다 짧으면 그대로 반환한다.
}
console.log(truncate("What I'd like to tell on this topic is:", 20)); // "What I'd like to te…"를 출력한다.
console.log(truncate("Hi everyone!", 20)); // "Hi everyone!"을 출력한다.
문자열에서 달러 기호와 같은 문자들을 제거하고 숫자만 추출하는 함수 extractCurrencyValue(str)를 구현할 수 있다.
slice(1)을 사용해 첫 번째 문자를 제거한다.Number()를 사용한다.function extractCurrencyValue(str) {
return Number(str.slice(1)); // 첫 번째 문자를 제거하고, 나머지 문자열을 숫자형으로 변환한다.
}
console.log(extractCurrencyValue("$120") === 120); // true를 출력한다.
console.log(extractCurrencyValue("$50")); // 50을 출력한다.