>  기사  >  웹 프론트엔드  >  js는 그것이 회문 문자열인지 어떻게 결정합니까?

js는 그것이 회문 문자열인지 어떻게 결정합니까?

青灯夜游
青灯夜游원래의
2018-11-17 17:43:545902검색

js는 회문 문자열인지 여부를 어떻게 결정하나요? 이 기사에서는 js를 사용하여 문자열이 회문 문자열인지 확인하는 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

우선 이해해보자 회문문자열이란 무엇인가?

회문 문자열은 처음부터 끝까지 읽는다는 의미로, 끝부터 처음까지 읽는 것과 같습니다. 예: ABCBA.

다음으로 JavaScript 함수를 사용하여 문자열이 회문 문자열인지 확인하는 방법을 쉽게 소개하겠습니다.

사실 문자열이 회문인지 여부를 결정하는 논리는 매우 간단합니다. 문자열에서 특수 문자를 제거하고 결과를 반대로 하면 됩니다. 문자열이 동일하면(필터링된 문자열과 역필터링된 문자열) 이 문자열은 회문 문자열입니다. 쉽지 않습니다.

JavaScript가 위의 논리를 따라 효과를 달성하는 방법을 살펴보겠습니다.

1. 기본 기능을 사용하여 검증하기

위에서 언급한 논리에 따라 필요한 문자열이 포함된 문자열만 생성하면 됩니다. 변하기 쉬운. 먼저 문자열의 모든 문자를 소문자 버전으로 변환한 다음 특수 문자를 제거하고 마지막으로 문자열을 비교하여 동일하면 함수는 이를 확인하는 부울을 반환합니다.

/** 
 *定义判断给定字符串是否为回文的函数isPalindrome()。
 * 
 * @returns {Boolean}
 */
function isPalindrome(str){
    var normalized = str.toLowerCase().match(/[a-z]/gi).reverse();
    return normalized.join('') === normalized.reverse().join('');
}

So, You 문자열을 첫 번째 인수로 제공하는 캐스팅된 isPalindrome 메소드를 사용할 수 있습니다. 이는 문자열인지 여부를 나타내는 부울을 반환합니다.

if(isPalindrome("Go dog.")){
    console.log("它是回文");
}else{
    console.log("它不是回文");
}

#🎜🎜 #2 확인을 위해 프로토타입 함수 사용 #🎜🎜 #문자열을 함수의 첫 번째 매개변수로 제공하지 않고 회문인지 여부를 확인하려면 변수가 문자열인 경우 문자열 프로토타입을 확장하여 바로가기를 만들 수 있습니다. 그리고 이를 위한 자신만의 기능을 생성합니다. 이 방법으로 isPalindrome 메소드를 문자열의 속성인 것처럼 호출할 수 있습니다. 예: value, 그것이 맞는지 확인:

/** 
 * 允许校验的字符串扩展函数
 * 字符串是否为回文。
 * 
 * @returns {Boolean}
 */
 String.prototype.isPalindrome = function () {
    var normalized = this.toLowerCase().match(/[a-z]/gi).reverse();
    return normalized.join('') === normalized.reverse().join('');
 }

Summary: 위는 이 기사의 전체 내용입니다. 모든 분들의 공부에 도움이 되길 바랍니다.

위 내용은 js는 그것이 회문 문자열인지 어떻게 결정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.