我試圖設置一個函數來檢查單詞或文本是否是迴文。要做到這一點,它會分割文本,以便每個字母都是新數組的一個元素,它將除去空白並使其成爲反轉數組。 然後它檢查兩個數組中相同位置上的每個元素是否相等。如果不是,則返回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」的文檔。 –