javascript - 当有大量文本可能性时如何根据当前日期更改文本
问题描述
我希望每天根据日期更改文本。
文本是自行车的位置。而且我知道未来 3 个月这辆自行车会在哪里。
但是有90天,90个地方。实现这一点的最有效方法是什么?
我知道我可以写很多“elseif”条件,但我认为有一种更有效的方法来做到这一点。
请问您有什么想法吗?
if 条件看起来像这样(我认为):
var date = new Date();
var day = date.getDate();
var n = date.getMonth();
var place;
if (day === 1 && n === 1) {
place = "Name of the city";
}
elseif(day === 2 && n === 1) {
place = "Name of Another City!"
}
document.getElementById("CityName").innerHTML = place;
这需要编写与天数一样多的条件。也许我可以使用json?
你怎么看?
解决方案
只需使用一个对象:
const locations = {
"2019-01-01": "Berlin",
"2019-01-02": "Amsterdam",
...
"2019-03-12": "New York",
};
然后,您可以访问带有日期的城市locations['2019-01-02']
respctivly location[myDate]
。
如果您有一个可以用来获取该格式的date
变量:const today = new Date()
.toISOString().substr(0, 10)
console.log(locations[today.toISOString().substr(0, 10)]);
推荐阅读
- python - 无法在 Cloud Shell 中将 Google App Engine 连接到 CloudSQL Postgres(通过 SQLAlchemy)
- javascript - 是否可以只更新对象的数组状态?
- functional-programming - 为什么我的列表反向函数可以自己工作,而不是在另一个函数内部?
- python-3.x - 我没有将 pyaudio 库安装到我的系统中
- c - 什么是分段核心转储?我该如何解决?
- python - 在重置变量时循环主函数
- python - 如何修复 fit() 方法中的“TypeError:'CategoricalDtype' 类型的对象没有 len()”问题?
- raspberry-pi3 - 当两个节点向其中输出 1 时,有没有办法让 gpio 输出 1?
- javascript - 有没有办法优化粒子生成算法以处理许多对象?
- office365 - 没有收到删除重复事件实例的通知