gpt4 book ai didi

javascript - 如何创建一个函数来接受输入并测试它是否是回文?

转载 作者:行者123 更新时间:2023-12-03 11:16:09 25 4
gpt4 key购买 nike

这是我现在编写的函数。网络控制台对我来说没有多大作用。每次在文本框中输入一个单词,即使是回文,也只是返回 "undefinedThis is not a palindrome!" .

不确定这里出了什么问题。也许与if有关陈述?我怎样才能使函数忽略大写字母?我希望它同时考虑 "bob""Bob"回文。

function test() {
// Assumes: a string is entered into the "palin" text box
// Results: tests if the string is a palindrome and
// returns the conclusion to outputDiv

var word, copy, i;
word = document.getElementById("palin").value;
copy = " ";
i = 0;

while (i < word.length) {
copy = word.charAt(i) + copy;
i=i+1;
}

if (word === copy) {
document.getElementById("outputDiv").innerHTML =
document.getElementById("outputDiv").value +
"This is a palindrome!";
} else {
document.getElementById('outputDiv').innerHTML =
document.getElementById('outputDiv').value +
"This is not a palindrome!";
}
}

最佳答案

最好将逻辑与演示分开。在您的情况下,逻辑是回文检查。该演示文稿从文本框获取输入并将输出发送到 div。

这就是我要做的:

var input = document.getElementById("input");
var output = document.getElementById("output");

document.getElementById("button").addEventListener("click", function () {
var s = input.value;
output.innerHTML = s + " is" + (isPalindrome(s) ? "" : " not")
+ " a palindrome.";
});

function isPalindrome(s) {
s = s.toLowerCase();
return s.split("").reverse().join("") === s;
}
<input type="text" id="input"/>
<button id="button">Palindrome?</button>
<div id="output"></div>

如您所见,我已将 isPalindrome 逻辑放入单独的函数中。因此,我将逻辑与演示分开。你应该始终这样做。它使编程变得更加简单。

关于javascript - 如何创建一个函数来接受输入并测试它是否是回文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27339683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com