gpt4 book ai didi

javascript 变量总是不相等

转载 作者:行者123 更新时间:2023-11-28 15:41:41 27 4
gpt4 key购买 nike

我有两个变量,totalGuess 和 condensedAnswer。我正在创建一个 jQuery 单击事件,如果 TotalGuess 不等于 condensedAnswer,则单击事件将不会发生,并且名为 message 的 div 将显示消息“抱歉,但您的答案不正确。请重试。”

问题是,if 语句中的totalGuess 永远不等于condensedAnswer。我试过看 typeof 并且它们都是字符串。我尝试过 console.log(totalGuess+"\n"+condensedAnswer);并且它们都返回相同的值。我尝试过对 condensedAnswer 进行硬编码,totalGuess 能够等于硬编码的答案。但是当我尝试将 condensedAnswer 与硬编码答案进行比较时,它不相等,即使 condensedAnswer 的 console.log 值是相同的。我没有错。

这是代码片段:

$('.submitGuess').click(function(e){
var totalGuess = "";
var condensedAnswer = answer.replace(new RegExp(" ","g"), "");
$('.crypto-input').each(function(){
totalGuess += $(this).val();
});
// if incorrect guess
if(totalGuess !== condensedAnswer) {
$('.message').text("Sorry, but your answer is incorrect. Please try again.");
e.preventDefault();
}
// if user wins, congratulate them and submit the form
else {
return true;
}
});

如果有帮助,这里是页面,只是一个用于 WordPress 的随机测试密码插件: http://playfuldevotions.com/archives/140

最佳答案

该问题与支票无关。问题是您正在检查的值具有隐藏字符。但是您发现该字符串有问题。

简单调试即可发现问题

> escape(totalGuess)
"God%27sMasterpieceMatthew15%3A99Psalms129%3A158"
> escape(condensedAnswer)
"God%27sMasterpieceMatthew15%3A99Psalms129%3A158%00"

末尾有一个空字符。

现在看看如何填写答案,您有一个包含数字的数组

"071,111,100,039,...49,053,056,"

看看最后我们有一个逗号

当你进行分割时,这意味着数组的最后一个索引将是"",因此你会得到一个空值。

enter image description here

删除结尾的逗号,它就会神奇地起作用。

关于javascript 变量总是不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23546515/

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