內建函式Math.max()和Math.min()可以分別找出引數中的最大值和最小值。
Math.max(1, 2, 3, 4); // 4Math.min(1, 2, 3, 4); // 1
這些函式對於數字組成的陣列是不能用的。但是,這有一些類似的方法。
Function.prototype.apply()讓你可以使用提供的this與引數組成的_陣列(array)_來呼叫函式。
var numbers = [1, 2, 3, 4];Math.max.apply(null, numbers) // 4Math.min.apply(null, numbers) // 1
給apply()第二個引數傳遞numbers陣列,等於使用陣列中的所有值作為函式的引數。
一個更簡單的,基於ES2015的方法來實現此功能,是使用展開運算子.
var numbers = [1, 2, 3, 4];Math.max(...numbers) // 4Math.min(...numbers) // 1
此運算子使陣列中的值在函式呼叫的位置展開。
最新評論