arrayMax

arrayMax

> 函数列表

返回数组 array 中值最大的元素。 有关数组最大值的更多信息,请参阅 sort。

参数
返回值
TypeScript

在 JavaScript 中,Math.max(...a) 对空数组返回 -Infinity(arrayMax 则返回 null),而且只要有一个元素不是数字就会返回 NaN——字符串不会像在 LeekScript 中那样按字母顺序比较。更要注意的是,展开语法 ... 最多只能传入约 65000 个参数:超过这个数量,Math.max(...a) 会抛出 RangeError。对于大数组,最好改写成 a.reduce((m, x) => x > m ? x : m)。

Python

在 Python 中,max() 遇到空列表会抛出 ValueError,而 arrayMax 返回的是 null:传入 default 参数即可得到同样的行为,即 max(a, default=None)。比较遵循的是 Python 的规则,而不是 LeekScript 的排序:混有数字和字符串的列表会抛出 TypeError,而不是给它们排出先后。max 还接受一个键函数,如 max(a, key=lambda e: e.life),此时返回的是元素本身,而不是键的值。