如果我們要在一個陣列或物件裡直接抓到最大或最小的值,用 ES6 寫法簡便很多,首先準備這樣的陣列和物件。
var arr = [1, 8, 3, 5]; var obj = [ { own: 53, name: 'Jason' }, { own: 50, name: 'Tom' }, { own: 12, name: 'Susan' }, { own: 41, name: 'Amy' } ];
本來我們要取得 arr 裡數值的最大最小值需要把數值一個一個放到 Math.max() 裡,利用 ES6 的展開運算子就可以精減成如下:
let max=Math.max(...arr) //8 let min=Math.min(...arr) //1
要對物件裡某個屬性抓到最大的值,則是使用 Arrow function 來改寫 Array.map() 組出來的值就好,要取最小值則把 min 取代 max 就好:
let most=Math.max(...obj.map(a => a.own)) //53 let least=Math.min(...obj.map(a => a.own)) //12