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的值吗?