美文网首页
求js数组的最大值和最小值的四种方法(排序法,字符串拼接法,假设

求js数组的最大值和最小值的四种方法(排序法,字符串拼接法,假设

作者: Petricor | 来源:发表于2023-03-19 15:29 被阅读0次

问题:求 let arr = [9, 5, 2, 1, 4];的最大值和最小值?

1.排序法
  • 先把数组从大到小排序,数组第一个即为最大值,最后一个即为最小值
    let arr = [9, 5, 2, 1, 4];
    arr.sort(function(a,b){
        return b-a;
    })
    console.log(arr);//(5) [9, 5, 4, 2, 1]
    
    max = arr[0];
    min = arr[arr.length-1];
    console.log('最大值 '+max,'最小值 '+min);
2.字符串拼接法
  • 利用toString和join把数组转换为字符串,再和Math的max和min方法分别进行拼接,最后执行eval方法
      let arr = [9, 5, 2, 1, 4];
      let max = eval('Math.max(' + arr.toString() + ')');
      let min = eval('Math.min(' + arr.toString() + ')');
      console.log('最大值 '+max,'最小值 '+min);
3.假设法
  • 假设数组第一个为最大(或最小值),和后边进行比较,若后边的值比最大值大(或比最小值小),则替换最大值(或最小值)
      let arr = [9, 5, 2, 1, 4];
      let max = arr[0];
      let min = arr[0];
      for (let i = 1; i < arr.length; i++) {
        let temp = arr[i];
        temp > max ? (max = temp) : null;
        temp < min ? (min = temp) : null;
      }
      console.log('最大值 ' + max, '最小值 ' + min);
4.Math的max和min方法
  • 使用apply方法使数组可以作为传递的参数
        let arr = [9, 5, 2, 1, 4];
        let max = Math.max.apply(null, arr);
        let min = Math.min.apply(null, arr);
        console.log(max, min);

参考文章:求js数组的最大值和最小值的四种方法

相关文章

网友评论

      本文标题:求js数组的最大值和最小值的四种方法(排序法,字符串拼接法,假设

      本文链接:https://www.haomeiwen.com/subject/ztdyrdtx.html