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

JavaScript에서 문자열이 다른 문자열로 끝나는지 확인하는 방법

JavaScript에서 두 개의 문자열 str1str2를 인수로 받아, str1str2로 끝나는지 여부를 판별하는 함수를 작성해야 합니다. 이 함수는 판별 결과에 따라 불리언(boolean) 값을 반환해야 합니다.

먼저 첫 번째 문자열을 살펴보겠습니다.

const str1 = 'this is just an example';

다음은 두 번째 문자열입니다.

const str2 = 'ample';

구현 아이디어

핵심 로직은 간단합니다. str1의 길이에서 str2의 길이만큼 뒤에서부터 잘라낸 부분 문자열(substring)을 추출한 뒤, 이것이 str2와 정확히 일치하는지 비교하면 됩니다. 일치하면 true, 그렇지 않으면 false를 반환합니다.

예제 코드

다음은 위 로직을 구현한 전체 코드입니다.

const str1 = 'this is just an example';
const str2 = 'ample';
const endsWith = (str1, str2) => {
    const { length } = str2;
    const { length: l } = str1;
    const sub = str1.substr(l - length, length);
    return sub === str2;
};
console.log(endsWith(str1, 'temple'));
console.log(endsWith(str1, str2));

실행 결과

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

false
true

추가 설명

'example'이라는 문자열은 'temple'로 끝나지 않으므로 첫 번째 호출은 false를 반환하고, 'ample'로는 정확히 끝나므로 두 번째 호출은 true를 반환합니다.

참고로, 최신 JavaScript에서는 substr() 대신 권장되는 slice() 메서드나 ES6에서 표준으로 추가된 내장 메서드 String.prototype.endsWith()를 사용할 수도 있습니다. 예를 들어 str1.endsWith(str2) 한 줄로 동일한 결과를 얻을 수 있으며, 직접 구현한 함수는 이러한 내장 메서드가 없는 환경이나 학습 목적으로 유용합니다.