Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查字符串在JavaScript中是否为回文_Javascript_Arrays - Fatal编程技术网

检查字符串在JavaScript中是否为回文

检查字符串在JavaScript中是否为回文,javascript,arrays,Javascript,Arrays,此任务的要求是,代码返回输入字符串的“true”或“false”。字符串可以是简单的单词或短语。另一个问题没有解决这些需要。请重新打开并在这里回答。我正在使用一个函数来检查给定的字符串是否是回文。我的代码似乎适用于简单的单字回文,但不适用于以大写或空格为特征的回文 function palindrome(str) { var palin = str.split("").reverse().join(""); if (palin === str){ return

此任务的要求是,代码返回输入字符串的“true”或“false”。字符串可以是简单的单词或短语。另一个问题没有解决这些需要。请重新打开并在这里回答。我正在使用一个函数来检查给定的字符串是否是回文。我的代码似乎适用于简单的单字回文,但不适用于以大写或空格为特征的回文

function palindrome(str) 
{
    var palin = str.split("").reverse().join("");

    if (palin === str){
        return true;
    } else {
        return false;
    }
}   

palindrome("eye");//Succeeds
palindrome("Race car");//Fails
类似于
if(word===word.split(“”).reverse().join(“”)){/*这是回文!*/}

isAlindrome
字符串扩展名:

String.prototype.isAlindrome=函数(){
var=this.toLowerCase().match(/[a-z]/gi.reverse();
返回已清理的.join(“”)==已清理的.reverse().join(“”);
}
var result=document.querySelector(“#result”);
result.textContent=“'eye.isAlindrome()=>”+'eye.isAlindrome()+
“\n'Something'.isAlindrome()=>”+'Something'.isAlindrome()+
“\n‘赛车’.isAlindrome()=>”+‘赛车’.isAlindrome()+
“\n‘我们不是在前进吗,我们很少,在新时代前进吗?’”。isAlindrome()=>“+
“我们不是被拉向前进吗,我们很少,被拉向新时代吗?”。isPalindrome()+
“\n‘从不偶数或奇数’.isAlindrome()=>”+‘从不偶数或奇数’.isAlindrome()+
“\n‘从不奇数或偶数’.isAlindrome()=>”+‘从不奇数或偶数’.isAlindrome();
;

首先将字符串转换为小写。此外,不属于字母表的字符也将被删除。因此字符串比较变成一个数组,然后将其反转,然后再次将其转换为字符串

Step 1: str1.toLowerCase().replace(...) => "Race car" => "race car" => "racecar"
Step 2: str2.split("") => ["r","a","c","e","c","a","r"] => .reverse().join() => "racecar"
Result: str1 === str2
函数回文(str){
str=str.toLowerCase()。替换(/[^a-z]+//g,”);
return str===str.split(“”).reverse().join(“”)
}
警惕(回文(“眼睛”)//真的
警报(回文(“赛车”)//真的

警惕(回文(“女士,我是亚当”)//真
//1。将字符串更改为数组 //2. 使用相反的方法 //3. 以字符串形式返回数组 //4. 返回输入=新的反向字符串

var lowerCasedString=inputString.toLowerCase();
var reversedString=lowerCasedString.split(“”).reverse().join(“”);
返回reversedString==小写字符串
}
希望这会有所帮助:

函数回文(str){
function palindrome(str) {
    let letters = str.split('').filter(function (str) {
        return /\S/.test(str);
    });
    let reversedLetters = str.split('').reverse().filter(function (str) {
        return /\S/.test(str);
    });

    for (let i = 0; i < letters.length; i++) {
        if (letters[i].toLowerCase() !== reversedLetters[i].toLowerCase()) {
            return false;
        }
    }
    return true;
}
console.log(palindrome("eye")); //true
console.log(palindrome('Race car')); //true
让字母=str.split(“”).filter(函数(str){ 返回/\S/.test(str); }); 让reversedLetters=str.split(“”).reverse().filter(函数(str){ 返回/\S/.test(str); }); for(设i=0;i
使用ES6的回文

const checkPalindrome=(str)=>{
返回str.toLowerCase().trim()==str.toLowerCase().trim().split(“”).reverse().join(“”);
}
console.log(检查回文(“级别”))
这是一个例子:-)

尽可能简单

函数检查strforpalindormine(字符串){
const str=string.toLowerCase().trim();
const reversedStr=str.split(“”).reverse().join(“”);
返回str===reversedStr;
}
控制台日志(检查strforpalindormine(“aaffaa”))

log(checkStrForPalindorme(“dummy”)
该问题是询问如何生成回文,而不是根据上述条件检查两个字符串是否为回文。如果我们能重新打开它,我将把它作为一个答案发布:
函数isPalindrome(str){str=str.replace(/\s/g').toLowerCase();return str==str.split(“”).reverse().join(“”);}
@AlexanderO'Mara你在这里走对了。我需要帮助理解如何在javascript中使用正则表达式,并在这里使用它们来删除空白和任何标点符号以及任何大写字母。我希望他们能重新打开这个问题,因为另一个问题完全不同。@jfriend00你能重新打开这个吗。不是处理标点符号的复制品,您只能像字符一样保存工作<代码>函数isAlindrome(str){str=str.replace(/\W/g').toLowerCase();返回str===str.split(“”).reverse().join(“”);}
ok完美。非常感谢@AlexanderO'Mara!两个快速问题:1)“/”是否开始和结束正则表达式?2) “\W”是否可以一次性处理空白和标点符号,因为它们都是非工作字符?这与空白、大写和punctuation@AustinHansen更新后,现在所有空格都被替换,所有字符现在都是小写的,以避免出现问题
function palindrome(str) {
    let letters = str.split('').filter(function (str) {
        return /\S/.test(str);
    });
    let reversedLetters = str.split('').reverse().filter(function (str) {
        return /\S/.test(str);
    });

    for (let i = 0; i < letters.length; i++) {
        if (letters[i].toLowerCase() !== reversedLetters[i].toLowerCase()) {
            return false;
        }
    }
    return true;
}
console.log(palindrome("eye")); //true
console.log(palindrome('Race car')); //true
const palindromes = arrayOfWords.filter((item) => {
    return item === item.split('').reverse().join('');
})