從陣列計算最大和最小值
內建函式 Math.max() 和 Math.min() 分別可以從參數中找到最大值和最小值。
Math.max(1, 2, 3, 4); // 4
Math.min(1, 2, 3, 4); // 1
這些函式對於數字陣列是無法作用的。然而,這裡有些解決辦法。
Function.prototype.apply()
允許你呼叫函式並給定一個 this
和一個_陣列_的參數。
var numbers = [1, 2, 3, 4];
Math.max.apply(null, numbers) // 4
Math.min.apply(null, numbers) // 1
傳送 numbers
陣列當作 apply()
的第二個參數,函式會呼叫陣列內所有的值當作函式的參數。
更簡單的方式,透過 ES2015 的展開運算子來完成。
var numbers = [1, 2, 3, 4];
Math.max(...numbers) // 4
Math.min(...numbers) // 1
這個運算子可以在函式的參數中把陣列內的數值「展開」。
MEET THE NEW JSTIPS BOOK
You no longer need 10+ years of experience to get your dream job.
Use the 100 answers in this short book to boost your confidence and skills to ace the interviews at your favorite companies like Twitter, Google and Netflix.
GET THE BOOK NOW
MEET THE NEW JSTIPS BOOK
The book to ace the JavaScript Interview.
A short book with 100 answers designed to boost your knowledge and help you ace the technical interview within a few days.
GET THE BOOK NOW