JavaScript:I';我在JavaScript中练习递归,我试图从一个条件返回true或false,但什么也看不到
标题几乎说明了一切。我知道还有其他方法可以确定字符串是否为回文(例如,将字符串转换为数组、反转、连接字符串,并将结果字符串与原始字符串进行比较),但我现在只尝试使用递归。返回预期值的唯一方案如下:JavaScript:I';我在JavaScript中练习递归,我试图从一个条件返回true或false,但什么也看不到,javascript,recursion,Javascript,Recursion,标题几乎说明了一切。我知道还有其他方法可以确定字符串是否为回文(例如,将字符串转换为数组、反转、连接字符串,并将结果字符串与原始字符串进行比较),但我现在只尝试使用递归。返回预期值的唯一方案如下: isPalindrome("a"); // true isPalindrome("aalsdjlkjdfsdkjf"); // false 这不会带来任何回报: isPalindrome("amma"); // 以下是我的函数代码: function isPalindrome (str) {
isPalindrome("a"); // true
isPalindrome("aalsdjlkjdfsdkjf"); // false
这不会带来任何回报:
isPalindrome("amma"); //
以下是我的函数代码:
function isPalindrome (str) {
if (str.length <= 1) {
return true;
} else if (str.charAt(0) == str.slice(-1)) {
isPalindrome(str.slice(1,-1));
} else {
return false;
}
};
函数isAlindrome(str){
如果(str.length在条件的第二个分支中,您希望返回结果:
return isPalindrome(str.slice(1,-1));
否则,它只需完成递归调用,退出if
语句,并返回undefined
(因为它在函数结束之前没有遇到return
语句)。在条件的第二个分支中,您希望返回结果:
return isPalindrome(str.slice(1,-1));
否则它只需完成递归调用,退出if
语句,并返回undefined
(因为它在函数结束之前没有遇到return
语句)。唯一不返回任何内容的情况是ifstr.charAt(0)==str slice(-1)
是真的。唯一不返回任何内容的情况是str.charAt(0)=str.slice(-1)
是真的。嘿,特德——有人告诉过你今天你摇滚了多少吗?因为你摇滚了。谢谢!我会在十分钟内把这个标记为答案。@MichaelP。-谢谢。:)嘿,特德——有人告诉过你你今天摇滚了多少吗?因为你知道。你摇滚了!谢谢!我会在十分钟内记下答案。@MichaelP.-谢谢。:)