【问题标题】:using filter() method in javascript to find largest number in an array在 javascript 中使用 filter() 方法查找数组中的最大数
【发布时间】:2018-07-16 14:29:37
【问题描述】:

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

【问题讨论】:

标签: javascript


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      如果你想使用过滤器试试这个:

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

      【讨论】:

      • 如果我没记错的话,a 代表数组的元素,b 代表索引,c 代表数组,但是 d 表示什么
      • 你完全正确。 d 是额外的。我忘了删除它。简单实用的方法。
      猜你喜欢
      • 2015-10-30
      • 2011-10-08
      • 2018-08-27
      • 1970-01-01
      • 2021-03-06
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多