数字未正确添加

时间:2017-11-14 10:59:03

标签: javascript

我想为每一天计算一些数字。实际数字并不重要,它应该有所不同,但必须是稳定的。

到目前为止,我已经做了以下事情:

now = new Date();

begin_of_week = new Date(now.getFullYear(), now.getMonth(), now.getDate() - now.getDay() + 1);

for (idx in [0, 1, 2, 3, 4]) {
    seed = parseInt(idx)
        + begin_of_week.getFullYear() * 400,
        + begin_of_week.getMonth() * 31,
        + begin_of_week.getDate();

    // ...
}

我希望从星期一到星期五,这给我一些seed一周的每一天。但是,我这几天的数字不同,但我现在的数字与上周相同。

JavaScript的类型系统对我来说是一个谜。我希望所有这些都是int,他们只是加起来。我是否将idx放在链的开头或结尾都有所不同。 parseInt,它什么都不做,实际上改变了结果。

这里发生了什么?我怎样才能添加这些数字?

1 个答案:

答案 0 :(得分:0)

  

我希望这能给我一周的每一天种子   星期一到星期五。但是,我的日子不同,但我现在   与上周有相同的数字。

这是因为您的begin_of_week整周都与您提供的一样

now.getDate() - now.getDay() + 1

基本上可以确保您的日期参数始终按周已经过的天数进行抵消。

  

我希望所有这些都是int并且它们只是加起来。

将值分配给种子,而不是通过其他值递增seed值,因此这与

一样好
seed = parseInt(4)
        + begin_of_week.getFullYear() * 400,
        + begin_of_week.getMonth() * 31,
        + begin_of_week.getDate();

如果您想继续增加seed值,请使用+=代替=