具有数组功能的回文检查器

Palindrom checker with array function

我的目标是测试回文(单词向前和向后相同)以及仅包含回文的日志和数组,到目前为止,这是我能得到的最多的。


const getAllPalindromes = (words) => {
 return words.filter((word) => {
  word.split("").reverse().join("") === word;
  });
};

console.log(getAllPalindromes(["hello", "noon"]));

根据我的理解,这应该 return 一个包含布尔值为真的项目的数组,任何指针都会对新手有所帮助,非常感谢!

您没有return过滤条件。您进行了比较,但随后没有 return 它,因此过滤器具有未定义的作为比较器的 return,因此它不会过滤任何东西。否则,你其余的逻辑是正确的!

const getAllPalindromes = (words) => words.filter((word) => word.split("").reverse().join("") === word);

console.log(getAllPalindromes(["hello", "noon"]));

由于您使用的是箭头函数,我们将在其中使用隐式 return 来使事情变得更小,尤其是因为每个函数实际上只是一个语句。这是用于直接比较的较长格式的相同代码

const getAllPalindromes = function (words) {
 return words.filter(function (word) {
    return word.split("").reverse().join("") === word;
  });
};

console.log(getAllPalindromes(["hello", "noon"]));

早就有人回答了,这里仅供参考

如果您使用可以帮助您及早发现问题的编辑器或代码检查器,也可能会有所帮助。遗漏 return 语句与错漏一个语句一样容易。

Off by One errors are as easy to make as a missed return statement undefined

编码愉快!