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());
时间: 2024-10-29 19:11:22