gpt4 book ai didi

javascript - 如果没有一堆 if else 语句,我怎么能写这个函数呢?

转载 作者:行者123 更新时间:2023-12-02 05:27:56 24 4
gpt4 key购买 nike

我基本上就是想不通,也不想破解它。

如果我在一年中这样做 52 周,它会看起来很乱。

有什么建议吗?

更新

这个问题不是关于获取当年的当前周。

这个问题是关于获取自定义日期以来经过的周数。

我希望下周的锻炼显示在本周的第 6 天;)

示例

自开始以来我的天数是 99:2018-05-30 18:39:29。

第 15 周向我展示了您的一些示例。

但是我的代码显示第 16 周,这是正确的。看到警告了吗?

  calculateUsersCurrentWorkoutWeek: function(timestamp) {
let daysSinceSignup = moment().diff(timestamp, "days");
if (daysSinceSignup <= 6) {
return 1;
} else if (daysSinceSignup > 6 && daysSinceSignup <= 13) {
return 2;
} else if (daysSinceSignup > 13 && daysSinceSignup <= 20) {
return 3;
} else if (daysSinceSignup > 20 && daysSinceSignup <= 27) {
return 4;
} else if (daysSinceSignup > 27 && daysSinceSignup <= 34) {
return 5;
} else if (daysSinceSignup > 34 && daysSinceSignup <= 41) {
return 6;
} else if (daysSinceSignup > 41 && daysSinceSignup <= 48) {
return 7;
} else if (daysSinceSignup > 48 && daysSinceSignup <= 55) {
return 8;
} else if (daysSinceSignup > 55 && daysSinceSignup <= 62) {
return 9;
} else if (daysSinceSignup > 55 && daysSinceSignup <= 62) {
return 10;
} else if (daysSinceSignup > 62 && daysSinceSignup <= 69) {
return 11;
} else if (daysSinceSignup > 69 && daysSinceSignup <= 76) {
return 12;
} else if (daysSinceSignup > 76 && daysSinceSignup <= 83) {
return 13;
} else if (daysSinceSignup > 83 && daysSinceSignup <= 90) {
return 14;
} else if (daysSinceSignup > 90 && daysSinceSignup <= 97) {
return 15;
} else {
return 16;
}
}

最佳答案

除以 7 和 ceil?

const daysSinceSignup = moment().diff(timestamp, "days");
return Math.ceil(daysSinceSignup / 7);

你今天早上错过咖啡了吗? ;-)


注意:上面的函数会告诉您“自 timestamp 以来的周数”,这是我从您的文本中了解到的内容,但您的代码示例并未反射(reflect)出来。

要获得代码示例的相同结果,您需要 .floor() 并添加 1 而不是 .ceil():

const daysSinceSignup = moment().diff(timestamp, "days");
return Math.floor(daysSinceSignup / 7) + 1;

关于javascript - 如果没有一堆 if else 语句,我怎么能写这个函数呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52198148/

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