Maison  >  Article  >  interface Web  >  Comment js détermine-t-il s'il s'agit d'une chaîne palindrome ?

Comment js détermine-t-il s'il s'agit d'une chaîne palindrome ?

青灯夜游
青灯夜游original
2018-11-17 17:43:545905parcourir

Comment js détermine-t-il s'il s'agit d'une chaîne palindrome ? Cet article vous présentera comment utiliser js pour déterminer si une chaîne est une chaîne palindrome. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Tout d’abord, comprenons Qu’est-ce qu’une chaîne palindrome ?

Une chaîne palindrome revient à la lire de la fin au début. Exemple : ABCBA.

Ensuite, nous vous présenterons comment utiliser facilement les fonctions JavaScript pour déterminer si une chaîne est une chaîne palindrome.

En fait, la logique pour déterminer si une chaîne est un palindrome est très simple : il suffit de supprimer les caractères spéciaux de la chaîne et d'inverser le résultat. Si les chaînes sont égales (la chaîne filtrée et la chaîne filtrée inverse), alors cette chaîne est une chaîne palindrome. N'est-ce pas facile !

Voyons comment JavaScript suit la logique ci-dessus pour obtenir l'effet.

1. Utilisez les fonctions de base pour la vérification

En suivant la logique mentionnée ci-dessus, il nous suffit de créer une variable contenant la chaîne dont nous avons besoin. Tout d'abord, nous convertissons tous les caractères de la chaîne en version minuscule, puis nous supprimons les caractères spéciaux et enfin comparons les chaînes et si elles sont égales, la fonction renvoie un booléen le confirmant :

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

Par conséquent, vous peut utiliser la méthode castée isPalindrome qui fournit une chaîne comme premier argument, qui renverra un booléen qui remarquera si c'est le cas :

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

2. Utilisez les fonctions prototypes pour la vérification

Si vous souhaitez déterminer si une chaîne est un palindrome sans la fournir comme premier paramètre d'une fonction, tant que la variable est une chaîne, vous pouvez créer un raccourci en étendant le prototype String et en créant le vôtre fonctionner pour cela. De cette façon, vous pouvez appeler la méthode isPalindrome comme s'il s'agissait d'une propriété de la chaîne, par exemple :

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

Par conséquent, vous pouvez caster la chaîne en utilisant la méthode isPalindrome, qui renverra une valeur booléenne , remarquez si c'est le cas :

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

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn