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