因為Math.max() 以及 Math.min() 方法中傳入的應(yīng)該是一組數(shù),數(shù)組是接收不了的,所以對從數(shù)組中找最大值的方法做一些總結(jié)。
Math.max.apply(null, arr); Math.min.apply(null, arr);
語法:apply([thisObj,[argArray]]) 定義:應(yīng)用某一對象的一個方法,用另一個對象替換當(dāng)前對象。 說明: 如果 argArray 不是一個有效的數(shù)組或者不是 arguments 對象,那么將導(dǎo)致一個 TypeError。 如果沒有提供 argArray 和 thisObj 任何一個參數(shù),那么 Global 對象將被用作 thisObj, 并且無法被傳遞任何參數(shù)。
Math.max(…arr); Math.min(…arr);
這是 es6 中的擴(kuò)展運算符,可以將一個數(shù)組,變?yōu)閰?shù)序列。
自定義函數(shù),利用迭代
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];}新聞熱點
疑難解答