我是javascript新手,谁能告诉我是否可以使用filter()方法,仅使用filter()方法找到数组中最大的数字
我知道这不使用 filter(),但您可以使用简单的 sort() 来完成并返回最后一个元素。
var arr = [50,40,60,0,10,5];
var max = arr.sort((a,b)=> a-b)[arr.length-1]
console.log(max);
显然过滤器不是正确的函数,但是:
Math.max.apply(0, array);
如果无论如何你想用过滤器来做到这一点,你可以这样做。
var arr = [...];
var a = arr[0];
var b = arr.filter(function(i){
if (i > a) {
a = i;
}
return i == a;
});
return b[b.length - 1];
如果您想使用过滤器,请尝试以下操作:
var A = [-25, 110, 1000, 31, 1,2]/*Your Array*/, max=-Infinity;
A.filter(function(a,b,c){if(a>max)max=a;});
console.log(max);
否则,这是另一种简单的方式:
console.log([-25, 110, 1000, 31, 1,2].sort(function(a,b){return b-a})[0]);