了解Math.max

时间:2016-09-24 20:59:44

标签: javascript

我一直在玩一个编码游戏,最近发现这个解决方案遇到了编码挑战,但我无法理解它。

我已尝试阅读Math.max,但我无法绕过它。

此代码中发生了什么?



var n = 6; 
var items = [6, 2, 1, 6, 0, 9]; 
var high  = items[0];
var loss = 0;

for (var i = 1; i < n; i++) {
    var v = parseInt(items[i]);
    high = Math.max(high, v);
    loss = Math.max(loss, high - v);
}

console.log(-1 * loss);
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

在这些情况下,输出以控制变量以更好地了解正在发生的事情非常有用:

var n = 6; 
var items = [6, 2, 1, 6, 0, 9]; 
var high  = items[0];
var loss = 0;
    
for (var i = 1; i < n; i++) {
  console.log("[Roll " + i + "]");
  var v = parseInt(items[i]);
  high = Math.max(high, v);
  loss = Math.max(loss, high - v);
  console.log("v: " + v + "\nhigh: " + high + "\nloss: " + loss);
}
    
console.log(-1 * loss);

正如其他人在评论中提到的那样,Math.max非常简单,只返回给出的最大数量的参数。

例如:

> Math.max(5, 7, 9202902)
< 9202902