用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>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值