首页 > 解决方案 > 我不明白为什么我的函数返回 undefined

问题描述

我正在尝试创建一个函数来检查给定的字符串是否是回文。我在使用大写字母时遇到了一些困难,但我认为(?)现在已经解决了。问题是当我将字符串传递给 checkString() 函数时,它返回 undefined ,我不知道为什么。

const palindromes = function(string) {
  const originalString = string;
  const reverseString = string.split("").reverse().join("");
  const check = reverseString.slice(-1);

  if (check === check.toUpperCase()) {
    const newString = reverseString.slice(0, 1).toUpperCase() + originalString.slice(1);
    checkString(originalString, newString);
  } else {
    checkString(originalString, reverseString);
  };
};


const checkString = function(originalString, newString) {
  if (originalString === newString) {
    return true;
  };
  return false;
};

console.log(palindromes("Racecar"));

任何提示将不胜感激。

标签: javascript

解决方案


您可以使您的代码更好:

const palindromes = function(string) {
  const originalString = string.toUpperCase(); // make string to uppercase
  const reverseString = originalString.split("").reverse().join(""); // reverse string
  return originalString === reverseString; // inline compare and RETURN the value!
};


console.log(palindromes("Racecar"));
console.log(palindromes("stackoverflow"));


推荐阅读