【发布时间】:2015-03-01 19:14:34
【问题描述】:
我的目标是测试用户输入的单词(少于 10 个字母)是否是回文。我想这样做我比较第一个字母到最后一个,第二个字母到第二个到最后一个,第三个字母到第三个到最后一个......
我正在使用 for 循环和数组来执行此操作。我不能使用 reverse() 方法。我的主要问题是格式化我拥有的比较方程:
(lettersArray[i] + 1) == (lettersArray[i].length - 1)
这应该将第一个与最后一个、第二个和第二个与最后一个进行比较,依此类推。这是正确的格式吗?我在访问数组中最后一个索引并将其倒数的方法中是否正确?请让我知道我做错了什么,因为它没有运行。这是我的代码:
var usersWord = prompt("Enter a Palindrome");
var lettersArray =usersWord.split(""); // this is the array
for(var i=0; lettersArray.length < 11; i++) {
if((letters[i] + 1) == (lettersArray.length[i]-1)) {
alert("is palindrome");
} //end if statement
else{
alert("is not palindrome");
} // end else statement
} // end for statement
【问题讨论】:
-
在这个问题中更多检查回文:stackoverflow.com/questions/14813369/…
-
你为什么要检查
lettersArray.length < 11? -
1.您只需要检查字符串的前半部分并将其与后半部分进行比较。 2.您需要检查所有这些字母,直到它们不匹配或用完字符
-
我在检查 lettersArray.length
-
您只需要检查前半部分和后半部分。即 i
标签: javascript arrays palindrome