Math.max 的 Polyfill 使其可用于旧的 browsers/systems

Polyfill for Math.max to make it useable for older browsers/systems

我正在使用 Math.max 功能,但它并非在所有设备和浏览器上都可用。有没有 Polyfill 或其他简单快捷的方法来解决这个问题?

根据 Mozilla Math.max 具有完整的浏览器和移动支持。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max

见以下代码:

if (!Math.max)
{
    Math.max = function()
  {
    var max = Infinity * -1;
    for (var index = 0; index < arguments.length; index++)
    {
        var val = arguments[index];
      if (val > max)
      {
        max = val;
      }
    }
    return max;
  };
}

演示: https://jsfiddle.net/1x3d1btf/3/

您遇到的问题与 Math.max 无关,因为它一直得到支持。它与解构有关(... in Math.max(...array))。要解决这个问题,您可以使用很可能受支持的旧 JavaScript。 尝试:

Math.max.apply(null, array);(与 Math.max(...array) 几乎相同。