js找一个数组里面的最大值和最小值

1、排序法
  var ary = [10,1,8,4,2,6,5];
  ary.sort(function(a,b){
    return a-b
  })

  var min = ary[0];
  var max = ary[ary.length-1]
2、假设法

假设当前数组第一个值是最大值,拿这个值和后面的值逐一进行比较,如果后面的某一个值比假设的要大,就说明我们假设错了,把假设值进行替换

  var ary = [10,1,8,4,2,6,5];
  var min =ary[0];
  var max = ary[0];
  for (var i =0;i<ary.length;i++) {
      var cur = ary[i];
      cur>max?max = cur : null;
      cur <min ?min = cur : null;
  }
3、eval把一个字符串变成js的表达式
let ary = [45,34,1,50,12]
let max = eval("Math.max("+ary.toString+")") 
let min = eval("Math.min("+ary.toString+")") 

4、Math.max和Math.min方法
  var max = Math.max.apply(null,ary);
  var min = Math.min.apply(null,ary)

5、借助ES6的扩展运算符
  let ary = [45,34,1,50,12]
  let max = Math.max(...ary)
  let min = Math.min(...ary)

6、使用reduce()函数
    let ary = [45,34,1,50,12]
    function maxReduce(ary) {
        return ary.reduce((accumulate, current) => {
          return accumulate > current ? accumulate : current;
        });
  }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容