我试图设置一个函数来检查单词或文本是否是回文。要做到这一点,它会分割文本,以便每个字母都是新数组的一个元素,它将除去空白并使其成为反转数组。 然后它检查两个数组中相同位置上的每个元素是否相等。如果不是,则返回false,如果是,则返回true。 这里的功能:比较两个数组之间的值
function palindrome(str) {
var low = str.toLowerCase();
var newArray = low.split("");
var noSpace = newArray.filter(function(val) {
return val !== " ";
});
var reverse = noSpace.reverse();
function check (a, b) {
console.log(`checking '${a}' against '${b}'`);
var partial;
var result = 1;
for (var i = 0; i < a.length; i++) {
console.log(`comparing '${a[i]}' and '${b[i]}'`);
if (a[i] !== b[i]) {
result = 0;
} else {
partial = 1;
result *= partial;
}
}
return result;
}
var result = check(noSpace, reverse);
if (result == 1) {
return true;
} else {
return false;
}
}
palindrome("r y e");
我不知道什么是错的,但似乎功能不断不管我传递给函数什么词或文本返回真值。那有什么问题?
您可能需要使用你正在使用以及语言名称标记。 –
您可能想要正确缩进代码。为了调试你的代码,用调试器逐行浏览它,随时检查变量。 –
请仔细阅读“reverse”的文档。 –