html求最⼤值和最⼩值,JavaScript学习笔记:取数组中最⼤值
和最⼩值
在实际业务中有的时候要取出数组中的最⼤值或最⼩值。但在数组中并没有提供arr.max()和arr.min()这样的⽅法。那么是不是可以通过别的⽅式实现类似这样的⽅法呢?那么今天我们就来整理取出数组中最⼤值和最⼩值的⼀些⽅法。
取数组中最⼤值
可以先把思路理⼀下:
将数组中第⼀个元素赋值给⼀个变量,并且把这个变量作为最⼤值;
开始遍历数组,从第⼆个元素开始依次和第⼀个元素进⾏⽐较
学javascript前要学什么如果当前的元素⼤于当前的最⼤值,就把当前的元素值赋值给最⼤值
移动到下⼀个元素,继续按前⾯⼀步操作
当数组元素遍历结束时,这个变量存储的就是最⼤值
代码如下:
Array.prototype.max = function () {
// 将数组第⼀个元素的值赋给max
var max = this[0];
// 使⽤for 循环从数组第⼀个值开始做遍历
for (var i = 1; i < this.length; i++) {
// 如果元素当前值⼤于max,就把这个当前值赋值给max
if (this[i] > max) {
max = this[i];
}
}
/
/ 返回最⼤的值
return max;
}
来看⼀个⽰例:
var arr = [1,45,23,3,6,2,7,234,56];
arr.max(); // 234
上⾯的⽰例,数组中都是数值,那么如果数组中不全是数值会是⼀个什么样的效果呢?来测试⼀下先:
var arr = [1,45,23,3,6,2,7,234,56,'2345','a','c'];
arr.max(); // 'c'
这并不是我们想要的结果吧。(此处跪求解决⽅案)
通过前段时间的学习,都知道for循环性能要⽐forEach()差,那可以将上⾯的⽅法改成forEach()⽅法:
Array.prototype.max = function (){
var max = this[0];
this.forEach (function(ele,index,arr){ if(ele > max) {
max = ele;
}
})
return max;
}
var arr = [1,45,23
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论