gpt4 book ai didi

javascript - 如果前一个字符串为真,则返回假,否则为真 - javascript

转载 作者:行者123 更新时间:2023-11-30 00:19:28 24 4
gpt4 key购买 nike

因此,如果我想在函数内的字符串值的 true 和 false 之间交替,我该怎么做呢?我知道它与标题相似,但不确定如何将第一部分放入实际的 javascript 中。

function tfAlternate(s) {

}

所以让我们说 s = "hello"

如果前一个字符串为真(在本例中没有前一个字符串)返回假,否则返回真。

所以 s 为真。

但是如果 s = "goodbye" 现在我希望它是 false 如果它遵循 if 语句因为 s 以前是 true .

那么我应该如何将它写成 if 语句呢?

希望这是有道理的,并提前致谢。

最佳答案

您好!

如果我没理解错的话,你需要一个接受字符串作为输入的函数;并返回先前接受的字符串的 boolean 反转。如果没有前一个字符串,就好像前一个字符串是假的,从而使输出为真。

我同意@CD.. 和@Felix King。您需要跟踪前一个字符串。

但是我建议不要在函数本身上使用全局变量或属性,而是使用闭包:

var tfAlternate = (function () {
var previousStr = null; // False value, for no previous string.
return function (s) {
var ans = !previousStr; // Negate previous string.
previousStr = s; // Current string is the next previous string.
return ans; // Return negated previous string.
};
}());

将上面的代码粘贴到浏览器的控制台;并在试驾时使用它:

tfAlternate("Hello");   // true,  because !null is true
tfAlternate("goodbye"); // false, because !"Hello" is false
tfAlternate("foo"); // false, because !"goodbye" is false
tfAlternate(""); // false, because !"foo" is false
tfAlternate("bar"); // true, because !"" is true
tfAlternate("baz"); // false, because !"bar" is false

希望这对您有所帮助。

PS:这个问题我觉得很有意思。但是,它的措辞并不明确。如果我对问题的解释是正确的,请告诉我;我将编辑问题以提高清晰度。

关于javascript - 如果前一个字符串为真,则返回假,否则为真 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724234/

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