用javascript 编写函数,获取数组中的最大值(用递归写)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
            /* 
            编写函数,获取数组中的最大值 
             */

        var ar2=[1,2,6,45,58,45,89,25,26]
        function fn(arr) {
            if(arr.length<=1){
                return arr
            }
            //获取数组中间元素的下表
            var index=parseInt(arr.length/2)
            //分别创建数组存放中间值两边的数据
            var item=arr[index]
            //创建两个空数组来接收,生成的两个数组
            var left=[]
            var right=[]

            //遍历数组中的每个元素
            for( var i=0;i<arr.length;i++){

                //判断该元素是否等于中间值
                if(arr[i]==item){
                    continue
                }
                //判断是否比中间值大
                if(arr[i]>item){
                    left.push(arr[i])
                }else{
                    right.push(arr[i])
                }
            }
            return fn(left).concat([item],fn(right))
        }
        var ar=fn(ar2)
        console.log(ar) 
        console.log(ar[0])     
    </script>
</body>
</html>
  • 0
    点赞
  • 1
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值