首页 > 解决方案 > 当有大量文本可能性时如何根据当前日期更改文本

问题描述

我希望每天根据日期更改文本。

文本是自行车的位置。而且我知道未来 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?

你怎么看?

标签: javascript

解决方案


只需使用一个对象:

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)]);

推荐阅读