Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 문자열을 지정된 길이까지만 자르는 방법

문제 상황

JavaScript로 문자열과 숫자를 입력받는 함수를 작성해야 합니다. 이 함수는 주어진 문자열을 지정된 길이까지만 잘라낸 뒤, 원본 문자열보다 짧아졌다면 끝에 "..."를 붙여 반환합니다. 만약 아무것도 잘리지 않았다면, 즉 문자열 길이가 지정한 길이 이하라면 원본 문자열을 그대로 반환하면 됩니다.

이런 기능은 게시글 목록이나 카드 UI에서 긴 텍스트를 미리보기 형태로 보여줄 때 매우 유용하게 사용됩니다.

예제 코드

다음은 위 요구사항을 구현한 코드입니다.

const str = 'Testing String';
const num = 8;

const limitString = (str = '', num = 1) => {
    const { length: len } = str;
    if (num < len) {
        return str.slice(0, num) + '...';
    } else {
        return str;
    }
};

console.log(limitString(str, num));

코드 설명

  • 구조 분해 할당(const { length: len } = str;)을 사용해 문자열의 길이를 len 변수에 담습니다.
  • 지정한 길이 num이 문자열 길이보다 작으면 slice(0, num)으로 앞부분만 잘라내고 '...'을 이어 붙입니다.
  • 그렇지 않으면 잘릴 필요가 없으므로 원본 문자열을 그대로 반환합니다.

실행 결과

위 코드를 실행하면 콘솔에 다음과 같이 출력됩니다.

Testing ...

원본 문자열 'Testing String'은 14글자이고 제한 길이가 8이므로, 앞 8글자인 'Testing '만 남고 말줄임표가 붙어 'Testing ...'가 출력됩니다. 반대로 제한 길이가 14 이상이라면 원본 문자열이 그대로 반환됩니다.