首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么javascript 'if statements‘返回undefined?

为什么javascript 'if statements‘返回undefined?
EN

Stack Overflow用户
提问于 2020-11-28 03:48:30
回答 1查看 54关注 0票数 0

这更像是一个“为什么会这样”的问题,而不是一个疑难解答的问题。

我正在尝试创建一个函数来测试一个单词是否为回文。我最初认为我可以使用if语句,它比较单词和何时颠倒。然而,if语句给了我未定义的信息。当我定期比较它(word === reverseWord)时,返回的结果是真或假。我的问题是,if语句中到底发生了什么?谢谢!

代码语言:javascript
复制
const palindromes = function(word) {
    *//Turn word into an array*
    var arrWord = Array.from(word);
    *//Reverse the array*
    var reversedWord = arrWord.reverse();

    *//This is true*
    return arrWord === reversedWord;

    //But this is undefined?
    if (arrWord === reversedWord) {true} else {false};
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-28 03:50:11

它返回undefined,因为您没有在任何地方使用return关键字。

你正在犯的另一个错误是,你在比较两个引用内存中相同对象的数组时,arrWord === reversedWord将总是返回true

使用split('')word转换为数组,然后对其执行reverse()。然后是join('')。最后比较反转字符串和word

代码语言:javascript
复制
const palindromes = function(word) {
    var reversedWord = word.split('').reverse().join('');
    console.log(word === reversedWord);
    if (word === reversedWord) {
      return true
    } else {
      return false
    };
}

console.log(palindromes("aba"))
console.log(palindromes("ba"))

代码可以简化为一行。

代码语言:javascript
复制
const palindromes = (word) => word.split('').reverse().join('') === word 

console.log(palindromes("aba"))
console.log(palindromes("ba"))

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65043107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档