Rumah >hujung hadapan web >tutorial js >js如何判断是否为回文字符串?

js如何判断是否为回文字符串?

青灯夜游
青灯夜游asal
2018-11-17 17:43:545939semak imbas

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('');
}

因此,您可以使用强制转换的isPalindrome方法,该方法提供一个字符串作为第一个参数,这将返回一个布尔值,该布尔值会注意到它是否是:

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

2、使用原型函数进行验证

如果你想要判断一个字符串是否是回文而又不提供它作为任何函数的第一个参数,只要该变量是一个字符串,你就可以通过扩展String原型并为它创建自己的函数来创建一个快捷方式。通过这种方式,你可以调用isPalindrome方法,就好像它是字符串的属性一样,例如:

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

因此,您可以使用isPalindrome方法为字符串强制转换,这将返回一个布尔值,注意到它是否:

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

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

Atas ialah kandungan terperinci js如何判断是否为回文字符串?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn