gpt4 book ai didi

JavaScript 数组不工作?使困惑

转载 作者:行者123 更新时间:2023-11-28 11:10:45 26 4
gpt4 key购买 nike

任何人都知道为什么这不适用于超过 1 个日期...

它只需要数组中的第一个日期...

var unavailableDates = ["10-6-2011","13-6-2011"];

function unavailable(date) {
dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
if ($.inArray(dmy, unavailableDates) == 0) {
return [false, "", "Unavailable"];
} else {
var day = date.getDay();
return [(day != 0 && day != 2 && day != 3 && day != 4 && day != 6)];
}
}

请参阅下面的完整示例

http://offline.raileisure.com/lee.php

提前致谢

最佳答案

它不起作用,因为您错误地解释了“$.inArray()”的返回值。当找不到搜索目标时,该函数返回-1;当能够找到搜索目标时,该函数返回数组中的索引。因此,当它返回0时,意味着它确实找到了代码正在寻找的内容。

对于那些喜欢可爱技巧的人来说,检查“$.inArray()”等函数的返回值的一个可爱技巧是应用“~”运算符:

if (~$.inArray(needle, haystack)) {
// found it
}
else {
// did not find it
}

“~”运算符形成其参数的按位补码(或“1 的补码”)。因为“~-1”是 0,而“~n”对于任何其他整数来说都是非零,所以它有效地将返回值适本地转换为“真/假”值。如果您不喜欢可爱的技巧,请不要使用它:-)

此外,在几个函数中使用的“dmy”变量应该在每个函数中使用 var 关键字进行声明。

关于JavaScript 数组不工作?使困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227877/

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