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

问题描述 投票:0回答:3

我是javascript新手,谁能告诉我是否可以使用filter()方法,仅使用filter()方法找到数组中最大的数字

javascript
3个回答
2
投票

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

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


1
投票

显然过滤器不是正确的函数,但是:

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

0
投票

如果您想使用过滤器,请尝试以下操作:

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]);
© www.soinside.com 2019 - 2024. All rights reserved.