javascript - 如果所选日期是数组数组中的最后一个日期,则返回 false

标签 javascript arrays loops date datetimepicker

我有一个循环,它检查用户是否单击了预订数组数组中已存在的日期。我的问题是,如果单击的日期是这些数组之一中的最后一个日期,它不应该警告用户。我希望这是有道理的。

arrayAfBookninger.forEach(function(array) {
            var lastDay = array[array.length - 1];
            array.forEach(function(dato) {
                if (startdato == moment(dato).format("YYYY-MM-DD") || slutdato == moment(dato).format("YYYY-MM-DD")) {
                    alertify.alert("Datoen er allerede booket. Vælg venligst en anden dato.");
                    $("#startdato").val("");
                    $("#slutdato").val("");
                }
                datoerMellemStartSlut.forEach(function(val) {
                    if (moment(val).format("YYYY-MM-DD") === moment(dato).format("YYYY-MM-DD")) {
                        alertify.alert("Der er bookede datoer mellem den valgte start- og slutdato. Vælg venligst en anden dato.");
                        $("#startdato").val("");
                        $("#slutdato").val("");
                    }
                });
            });
        });

如果用户点击此处的 17.,则不应显示任何警报。

enter image description here

到目前为止,我已经尝试将每个数组的最后一天保存在变量中,但我不确定如何将其应用于循环。现在,数组中的所有日期都将与用户选择的开始日期和结束日期 (slutdato) 进行比较。我也不想从数组中删除日期,因为我需要它们仍然以日历中的颜色显示。

临时解决方案:

if (dato == lastDay) {
    return;
}

最佳答案

您可以使用indexOf() JavaScript 数组函数( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf ) 更轻松地检查数组中是否存在某些内容。 做类似下面的事情: if(array.indexOf(datetocheck)>-1)//它存在于数组中 这将使您不必迭代所有内容,从而拥有更简单和更快的代码。如果需要,您还可以将 indexOf 的结果分配给变量,并在数组中包含日期的索引。 有点无关紧要,但我还建议使用保存所有日期 new Date(dates).valueOf() 它将把它们存储在数字 UTC 时间戳中,这样更容易管理,并且只渲染它们的前面。

关于javascript - 如果所选日期是数组数组中的最后一个日期,则返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46764626/

相关文章:

R:对所有变量重复线性回归并将结果保存在新的数据框中

php - PHP 数组的排列

javascript - 我们可以从维基词典 api 中获得所需的部分吗?

arrays - 比较两个数组字典是否相等

python - 找到一种更简单的方法将二维散点数据聚类为网格数组数据

python 和 NumPy : sum of an array slice

javascript - Vue JS 服务器端渲染 : computed property not seeing changes in store

javascript - 使用 ionic : Array return value 0 为 YouTube channel 构建混合移动应用程序

javascript - 如何在 PayPal Javascript 代码中使用 PHP header() 函数

loops - Grails GSP循环遍历索引,并对选定的行进行处理