javascript - 日期数组中的Javascript indexOf总是产生-1
问题描述
我在检查日期是否在我的数组中时遇到问题。
我参考这篇文章如何在日期数组中正确使用 JavaScript indexOf
但是当我在我的项目中使用它时,它总是导致-1。
这是我的代码
for (var current = dateStart; current <= dateEnd; current.setDate(current.getDate() + 1)) {
console.log(this.leaveState.currentHoliday.map(Number).indexOf(+current));
}
我需要检查current
日期是否在currentHoliday
数组中。
解决方案
我认为映射不需要循环到您的数组中。并且 -1 在某种程度上意味着您的数组中不存在日期。
也许是因为在每个循环中,您在看到实际日期之前都会添加一天。
我想你可以试试:
var alldays = [...];
//you should eliminate these two codes
// datestart = something;
// dateend = something;
var holiday;
for(var i in alldays){
console.log(alldays.map(Number).indexOf(this.leaveState.currentHoliday));
}
推荐阅读
- docker - 使用 Github Actions 将 docker 镜像从 Github 注册表部署到 Digital Ocean droplet
- python - 如何将三个列表转换为字典,其中键取自前两个列表的笛卡尔积,值来自第三个列表
- javascript - 拒绝承诺时如何将状态码设置为 404
- javascript - 检查下一项是否长 1 个单位(Javascript)
- python - 获取脚本的名称以自动传递给模块函数
- kotlin - Ktor 与 Kmongo 和 kotlinx.serialization
- c# - Moq 不断抛出空引用异常
- python - Asyncio 模块无法创建任务
- postgresql - 在 Postgrsql 中创建转储、备份
- react-native - 无法加载脚本。确保您正在运行 Metro 服务器或您的捆绑包“index.android.bundle”已正确打包以供发布