【发布时间】:2018-06-29 04:42:38
【问题描述】:
我想创建一个函数“palindromes()”来检查一个值是否是回文(向前和向后拼写相同)。 为此,我创建了 4 个函数,其中:
- 使所有字母变小
- 删除所有非字母字符
- 反转随后的数组,最后...
- 检查该数组是否为回文。
查看以下函数:
function makeSmall(input) {
lowerCase = input.toLowerCase();
return lowerCase;
}
function keepOnlyLetters(input) {
var patt1 = /[a-z]/g;
var onlyLetters = input.match(patt1);
return onlyLetters;
}
function reverseArray(array) {
var reversedArray = array.slice().reverse();
return reversedArray;
}
function checkPalindromes(array) {
var reversedArray = array.slice().reverse();
for (let i = 0; i <= array.length; i++) {
if (array[i] != reversedArray[i]) {
return false;
}
}
return true;
}
如何确保函数“palindromes()”采用一个值并在所有这些函数中运行它以最终给出该值是否为回文的答案(真或假)?
最好的问候, 贝尼
【问题讨论】:
-
您需要存储每个函数的返回值并将那个值传递给下一个。
-
reverseArray在checkPalindromes中不用于反转数组时看起来毫无用处。 -
所以你想要
keepOnlyLetters(makeSmall(str)),那么你需要将字符串更改为数组......所以,你可以reverseArray(keepOnlyLetters(makeSmall(str)).split('')).join('') -
如果对这 4 个函数的需求不大,您可以将它们全部组合成一个并执行。
-
PS:我建议你找一个好的javascript教程。这个问题的提出和格式都很好,所以不赞成它会感觉不对,但通常我会做任何应该由一个体面的教程涵盖的问题。 In future versions of JS 你可以写类似
str |> makeSmall |> keepOnlyLetters |> checkPalindromes的东西。但这仍然需要时间,语法可能仍然会改变。
标签: javascript function palindrome