如何在 JavaScript 中创建回文码?
How can I create a pallindrome code in JavaScript?
所以我正在尝试为回文创建一个代码,这就是我尝试的方式。还有其他或更好的方法吗?
但是现在只显示第一个值是否相等,显示true还是false?
var inpo= prompt("Please enter to check if palindrome")
var inp = parseFloat(inpo)
var a = inpo.split('')
var inpo2 = a.reverse()
var len= inpo.length
for (var i =0;i< len ;i++) {
if (inpo[i] == inpo2[i] )
alert("True")
else
alert("False")
}
如果您要创建回文检查代码,这里有一种简单的方法。拆分,反转然后连接。
str1 = "xxaa";
str2 = str1.split('').reverse().join("");
if (str1 == str2) {
alert("good");
} else {
alert("not");
}
您可以检查字符串中的单个字符,从右边消耗 1 个字符,从左边消耗另一个字符,直到您发现字符串完成或有 2 个不相等的字符。我用经典的 for 循环实现了。
请注意,最近才支持字符串 [] 的括号表示法,如果没记错的话,您可以使用 charAt
let inp = "otdto";
console.log(isPalindrome(inp));
function isPalindrome(inp) {
const len = inp.length;
for (let i = 0; i < Math.floor(len / 2); i++)
if (inp[i] != inp[len - i - 1])
return false;
return true;
}
一种检查单词或整个短语是否为回文的方法:
function isPalindrome(str) {
// Escape the string: Eliminate punctuation and spaces, enforce lower case
let escaped = str.replace(/[^A-Za-z0-9_]/g,"").toLowerCase();
// Reverse the escaped string
let reversed = escaped.split('').reverse().join('');
//compare
return escaped == reversed;
}
console.log(isPalindrome('Level'));
console.log(isPalindrome('Red rum, sir, is murder'));
希望评论能起到很好的解释作用
此外,您在 THIS jsfiddle 中有一个 prompt 示例。
所以我正在尝试为回文创建一个代码,这就是我尝试的方式。还有其他或更好的方法吗?
但是现在只显示第一个值是否相等,显示true还是false?
var inpo= prompt("Please enter to check if palindrome")
var inp = parseFloat(inpo)
var a = inpo.split('')
var inpo2 = a.reverse()
var len= inpo.length
for (var i =0;i< len ;i++) {
if (inpo[i] == inpo2[i] )
alert("True")
else
alert("False")
}
如果您要创建回文检查代码,这里有一种简单的方法。拆分,反转然后连接。
str1 = "xxaa";
str2 = str1.split('').reverse().join("");
if (str1 == str2) {
alert("good");
} else {
alert("not");
}
您可以检查字符串中的单个字符,从右边消耗 1 个字符,从左边消耗另一个字符,直到您发现字符串完成或有 2 个不相等的字符。我用经典的 for 循环实现了。 请注意,最近才支持字符串 [] 的括号表示法,如果没记错的话,您可以使用 charAt
let inp = "otdto";
console.log(isPalindrome(inp));
function isPalindrome(inp) {
const len = inp.length;
for (let i = 0; i < Math.floor(len / 2); i++)
if (inp[i] != inp[len - i - 1])
return false;
return true;
}
一种检查单词或整个短语是否为回文的方法:
function isPalindrome(str) {
// Escape the string: Eliminate punctuation and spaces, enforce lower case
let escaped = str.replace(/[^A-Za-z0-9_]/g,"").toLowerCase();
// Reverse the escaped string
let reversed = escaped.split('').reverse().join('');
//compare
return escaped == reversed;
}
console.log(isPalindrome('Level'));
console.log(isPalindrome('Red rum, sir, is murder'));
希望评论能起到很好的解释作用
此外,您在 THIS jsfiddle 中有一个 prompt 示例。