Javascript 使用.push()时,Math.max()是否存在错误?

Javascript 使用.push()时,Math.max()是否存在错误?,javascript,Javascript,我试图在不断更新的值数组中获得最大分数(示例.推送(分数)) 我的数组中有一个初始值4,但是当我传入任何大于4的值时,它将返回4和大于它的值 这是我的密码 setInterval(function(){ var arr = [4]; var randInt = Math.floor(1 + Math.random() * 9); arr.push(randInt); var max = Math.max(...arr); console.log(max); }, 100); 预期输

我试图在不断更新的值数组中获得最大分数<代码>(示例.推送(分数))

我的数组中有一个初始值
4
,但是当我传入任何大于
4
的值时,它将返回
4
和大于它的值

这是我的密码

setInterval(function(){

var arr = [4];

var randInt = Math.floor(1 + Math.random() * 9);

arr.push(randInt);

var max = Math.max(...arr);

console.log(max);

}, 100);
预期输出应为以下任一项:
4
5
6
7
8
9

实际产出为:
4
5
4
6
4
7
4
8
4
9
在上述代码示例中,始终会创建
arr
变量的新实例,因此它会比较
4
n
。 如果要打印从
4到9的最大值,只需执行以下操作:

const arr = [4];

while(arr.length !== 6){ // your condition could be different

   arr.push(arr[arr.length - 1] + 1);
   console.log(Math.max(...arr));
}


如果你需要进一步的解释,请写下整个例子以及最终的成果

亲爱的@omRay,这是一个低质量的问题,您对代码的期望与实际操作相差甚远。换个角度思考,代码会产生你想要的输出。如果您认为您的代码中存在错误,请将实际代码与错误一起发布。这里有一个关于如何发布一个好例子的链接:@Om-Ray,你所要求的是与你的代码配合良好。要么你遗漏了这里要提到的重要部分,要么你不确定你的输入或输出是什么。您的代码在这里运行良好:您确定没有在倒数第二行记录arr的值吗?