[JS] 객체 - 문자형

yuyeong·2024년 11월 20일

JS

목록 보기
10/10
post-thumbnail

1. 첫 글자를 대문자로 변경하기

주어진 문자열의 첫 글자를 대문자로 변환하는 함수 ucFirst(str)를 구현할 수 있다.

동작 방식은 다음과 같다:

  1. 입력받은 문자열 str이 빈 문자열인지 확인한다.
    • 문자열이 비어있다면 그대로 반환한다.
    • 조건문 if (!str)을 이용해 확인한다.
  2. 문자열의 첫 번째 글자를 대문자로 변환한다.
    • 문자열의 첫 글자를 대문자로 변환하려면 str[0].toUpperCase()를 사용한다.
  3. 나머지 문자열을 slice(1)을 사용하여 잘라낸다.
    • slice(1)은 첫 번째 글자를 제외한 나머지 문자열을 반환한다.
  4. 대문자로 변환한 첫 글자와 나머지 문자열을 결합한다.
    • + 연산자를 사용하여 두 부분을 연결한다.

코드 구현:

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"를 출력한다.

2. 스팸 문자열 걸러내기

문자열에 특정 단어(viagra, xxx)가 포함되어 있는지 확인하는 함수 checkSpam(str)를 구현할 수 있다. 문자열은 대소문자를 구분하지 않고 검사한다.

동작 방식은 다음과 같다:

  1. 입력 문자열을 소문자로 변환한다.
    • 대소문자 구분을 없애기 위해 toLowerCase()를 사용한다.
  2. 특정 단어(viagra, xxx)가 문자열에 포함되어 있는지 확인한다.
    • includes() 메서드를 사용하여 부분 문자열을 검색한다.
  3. 문자열에 특정 단어가 포함되어 있으면 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를 출력한다.

3. 문자열 줄이기

문자열이 특정 길이를 초과하면 끝에 생략 부호("…")를 붙여 반환하는 함수 truncate(str, maxlength)를 구현할 수 있다.

동작 방식은 다음과 같다:

  1. 문자열의 길이가 maxlength보다 큰지 확인한다.
    • 문자열 길이를 확인하려면 str.length를 사용한다.
  2. 문자열 길이가 maxlength보다 크면, maxlength - 1만큼의 길이를 남기고 나머지 부분을 생략 부호("…")로 대체한다.
    • 문자열을 자를 때는 slice(0, maxlength - 1)을 사용한다.
  3. 문자열 길이가 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!"을 출력한다.

4. 숫자만 추출하기

문자열에서 달러 기호와 같은 문자들을 제거하고 숫자만 추출하는 함수 extractCurrencyValue(str)를 구현할 수 있다.

동작 방식은 다음과 같다:

  1. 문자열에서 숫자가 시작하는 부분만 남긴다.
    • 달러 기호와 같은 불필요한 문자는 제거한다.
    • slice(1)을 사용해 첫 번째 문자를 제거한다.
  2. 남은 문자열을 숫자형으로 변환한다.
    • 문자열을 숫자형으로 변환하려면 Number()를 사용한다.

코드 구현:

function extractCurrencyValue(str) {
  return Number(str.slice(1)); // 첫 번째 문자를 제거하고, 나머지 문자열을 숫자형으로 변환한다.
}

사용 예시:

console.log(extractCurrencyValue("$120") === 120); // true를 출력한다.
console.log(extractCurrencyValue("$50"));          // 50을 출력한다.
profile
이겨내

0개의 댓글