標籤:blog border property 最小 uri code 沒有 prot console
Math.max 可以實現得到數組中最大的一項
var array = [1,2,3,4,5];var max = Math.max.apply(null, array);console.log(max); // 5
調用的時候第一個參數給了一個null,這個是因為沒有對象去調用這個方法,只需要用這個方法協助運算,得到返回的結果就行,所以直接傳遞了一個null過去。
Math.min 可以實現得到數組中最小的一項
var array = [1,2,3,4,5];var min= Math.min.apply(null, array);console.log(min); // 1
在原生對象上面添加max與min方法
那就會需要用到原生對象方法Object.defineProperty()方法會直接在一個對象上定義一個新屬性,或者修改一個對象的現有屬性, 並返回這個對象。
在原生對象上面添加方法,for迴圈也會尋找不到
Object.defineProperty(Array.prototype, ‘max‘, { writable: false, enumerable: false, configurable: true, value: function () { return Math.max.apply(null, this); } }); Object.defineProperty(Array.prototype, ‘min‘, { writable: false, enumerable: false, configurable: true, value: function () { return Math.min.apply(null, this); } });
如何使用呢,直接在數組上調用即可
var arr = [54,545,2165,545,56]; console.log(arr.max()); console.log(arr.min());
Javascript apply的巧妙用法