<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
var numberArray = [1, 2, 3, 4, 10, 5, 6, 7];
var i,
len = numberArray.length,
imGreater = numberArray[0];
for (i = 0; i < len; i++) {
maxNumber = Math.max(len)
}
function myFunction() {
document.getElementById("demo").innerHTML = console.log(maxNumber );
}
</script>
它出了什么问题?是关于Javascript范围的吗?
答案 0 :(得分:1)
没有什么是“错误的”,因为它正在完全按照你的要求行事。您在数组的长度上运行Math.max
,它不会更改,可能不是您要执行的操作。我想你想对实际的数组运行它
Math.max.apply(null,numberArray);
因为这将为您提供所提供数组中的最高编号。
你也可以自己在循环中编写这个,这可能也是你想要做的,考虑到你创建了一个循环并设置了一些变量。在创建这些变量后开始,您可以编写以下循环
for(i = 1; i < len; i++) // you can skip the first one as this is set to imGreater already
{
if(numberArray[i] > imGreater)
{
imGreater = numberArray[i];
}
}
答案 1 :(得分:1)
document.getElementById("demo").innerHTML = maxNumber ;
而不是
document.getElementById("demo").innerHTML = console.log(maxNumber) ;
var numberArray = [1, 2, 3, 4, 10, 5, 6, 7];
var maxVal=Math.max(...numberArray);
console.log(maxVal);
而不是:
docker logs {container_id}
DEMO:
--restart=always
&#13;
答案 2 :(得分:1)
这是关于小提琴的工作示例,只需使用Math.max(已在JS中预定义)。
var numberArray = [1, 2, 3, 4, 10, 5, 6, 7];
alert(Math.max.apply(Math,numberArray));
&#13;
这是另一个工作示例(Your style)
:
var numberArray = [1, 2, 3, 4, 10, 5, 6, 7];
var maxNumber = 0;
var len = numberArray.length;
for (var i=0; i < len; i++) {
if(numberArray[i] > maxNumber){
maxNumber=numberArray[i];
}
}
alert(maxNumber);
&#13;