资讯专栏INFORMATION COLUMN

求数组中的最大值最小值的方法

Caicloud / 2536人阅读

摘要:先升序排序排序后数组的第一项就是最小值升序排序降序排序也可以降序排取所因为的第一项假设法求最大值假设第一项就是最大值如果第二项大于第一项就把第二项改为最大项以此类推三元运算符取最小值与求最大值同理假设第一项为最大值如果第二项大于第一项

let ary = [1, 3, 5, 7, -2, 6, 20]
1.先升序排序,排序后,数组的第一项就是最小值
ary.sort(function(a,b){

return a - b; //升序排序(return b;降序排序)

})
let min = ary[0];
let max = ary[ary.length - 1];
//ps:也可以降序排取所因为0的第一项;

2.假设法
2.1 求最大值: 假设第一项就是最大值;

let max = ary[0];
for(let i = 1; i < ary.length ; i++ ){
    //如果第二项大于第一项,就把第二项改为最大项;以此类推
    if(ary[i] > max){
        max = ary[i];
    }
    //三元运算符:ary[i] > max ? max = ary[i] : null;
}
console.log(max);

2.2 取最小值与求最大值同理:假设第一项为最大值;
let min= ary[0];
for(let i = 1; i < ary.length ; i++ ){
    //如果第二项大于第一项,就把第二项改为最大项;以此类推
    if(ary[i] < min){
        min = ary[i];
    }
    //三元运算符:ary[i] < min ? min = ary[i] : null;
}
console.log(min);

3.Math.max()和Math.min() 方法;
Math.max() 从一堆数字中求出最大值;
Math.min() 从一堆数字中求出最小值;

思考:max 和 min方法都是接受一个一个的参数,现在我们要求出数组中的最小值;有没有什么方法;把数组变声一个一个的参数或者让max 和 min 接收一个数组参数;
3.1 es6新增扩展运算符...对象
    let max = Math.max(...ary);
    let min = Math.min(...ary);
    console.log(max);
    console.log(min);
3.2 让 max 和 min 接受一个数组用apply方法:
    let max = Math.max.apply(null , ary);
    let min = Math.min.apply(null,ary);
    console.log(max);
    console.log(min);

4.数组转成字符串,在使用eval()求值:

eval():作用是将字符串转变成js代码并执行;
4.1 將`Math.max(${aryStr})`傳給eval();
let aryStr = ary.toString();
let max = eval(`Math.max(${aryStr})`);
let min = eval(`Math.min(${aryStr})`);
4.2 將eval(aryStr)傳給Math.max和Math.min;
let aryStr = ary.toString();
let max = Math.max(eval(aryStr));
let min = Math.min(eval(aryStr));





















文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104455.html

相关文章

  • JS中数组最大最小)值汇总(持续更新)

    摘要:如何使用,在一个类型的数组里,查找最大或最小数呢以下介绍五个方法。利用代码如下解释方法就是通过一个函数,针对一个累加器和数组中的每一个元素,将一个数组最终减少到一个值。如果求最小值,将改成。 如何使用JS,在一个Number类型的数组里,查找最大(或最小)数呢? 以下介绍五个方法。(如果有新方法,后续会更新,也欢迎各位留言提供新方法) 1. 不使用任何库函数 代码如下: functio...

    church 评论0 收藏0
  • JavaScript专题之如何数组大值最小

    摘要:专题系列第八篇,讲解多种方式求数组的最大值和最小值前言取出数组中的最大值或者最小值是开发中常见的需求,但你能想出几种方法来实现这个需求呢提供了函数返回一组数中的最大值,用法是值得注意的是如果有任一参数不能被转换为数值,则结果为。 JavaScritpt 专题系列第八篇,讲解多种方式求数组的最大值和最小值 前言 取出数组中的最大值或者最小值是开发中常见的需求,但你能想出几种方法来实现这个...

    zhaochunqi 评论0 收藏0
  • Java 8之stream进阶

    摘要:获取每个元素的字符串长度放入新流中,然后转为类型。归约归约就是把整个流归约成一个值的操作,比如求集合中最大的元素所有元素值的和之类的操作。 前言: 上一篇文章 Java 8之stream介绍和使用 中讲解了stream的定义和用法,简单介绍几个最基本最常用的方法,其实stream还有更强大的功能,这篇文章就会给大家介绍stream的进阶用法。 筛选: 在上一篇文章中我们介绍了使用fi...

    Jaden 评论0 收藏0
  • 【译】JS基础算法脚本:插入数字的最小索引

    摘要:需求给出定两个参数,参数,参数查找参数插入数组时的最小索引思路数组重排序判断数组中是否包含的最小数,有,则返回其最小数的索引无,则返回其数组长度思路用变量存储大于中各元素的次数返回变量思路数组重排序查找大于的数组最小值的索引索引等于返 需求 给出定两个参数,参数1:arr,参数2:num;查找参数num插入数组时的最小索引 getIndexToIns([10, 20, 30, 40, ...

    xingqiba 评论0 收藏0

发表评论

0条评论

Caicloud

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<