使用javascript中的filter()方法查找数组中的最大数字



我是javascript的新手,有人能告诉我是否可以使用filter((方法、exclusive filter((法找到数组中的最大数字吗

我知道这不使用filter((,但您可以通过简单的排序((来完成,并返回最后一个元素

var arr = [50,40,60,0,10,5];
var max = arr.sort((a,b)=> a-b)[arr.length-1]
console.log(max);

显然filter不是写函数,而是:

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]);

最新更新