在工作中经常会有获取最大值的需求,
但是数组的形式有很多种,有纯数字格式的数组,有对象格式的数组。
下面是根据几种不同的数组格式来获取最大值的思路:
1.纯数字数组
通过Math方法获取
maxValue = Math.max.apply(null,valuesArr)
2.纯数字数组 & 对象数组
将数组从大到小排序,然后去数组的第一个值便是最大值
–可适用于纯数字数组,也可适用于对象数组
sortObj(a, b) {
return a - b;
}
valuesArr= valuesArr.sort(sortObj);
maxValue = valuesArr[0];
3.对象数组(简化版)
var array=[
{
"name": "name",
"value": "80"
}
];
Math.max.apply(Math, array.map(function(o) {return o.value})) //最大值
Math.min.apply(Math, array.map(function(o) {return o.value})) //最小值
注意:该方法对比的是每一个对象中的value值,如果对比其他的值,则只需更换o.value中的value为所需值名称即可。而max/min则为最大值,最小值