因為Math.max() 以及 Math.min() 方法中傳入的應該是一組數,數組是接收不了的,所以對從數組中找最大值的方法做一些總結。
Math.max.apply(null, arr); Math.min.apply(null, arr);
語法:apply([thisObj,[argArray]]) 定義:應用某一對象的一個方法,用另一個對象替換當前對象。 說明: 如果 argArray 不是一個有效的數組或者不是 arguments 對象,那么將導致一個 TypeError。 如果沒有提供 argArray 和 thisObj 任何一個參數,那么 Global 對象將被用作 thisObj, 并且無法被傳遞任何參數。
Math.max(…arr); Math.min(…arr);
這是 es6 中的擴展運算符,可以將一個數組,變為參數序列。
自定義函數,利用迭代
function getMax(arrays){ arrays.push(Math.max(arrays.pop(),arrays.pop())); if(arrays.length>1){ getMax(arrays); } return arrays[0];}function getMin(arrays){ arrays.push(Math.min(arrays.pop(),arrays.pop())); if(arrays.length>1){ getMin(arrays); } return arrays[0];}新聞熱點
疑難解答