欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js写一个方法,求一个数组中的最大奇数和最小偶数,并求他们的和,如果一个数不存在则返回null。

程序员文章站 2024-03-15 22:52:27
...
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
    </body>
    <script type="text/javascript">
        function fun(arr) {
            var odd = null, //odd是存放最大奇数的变量
                even = null; //even是存放最小偶数的变量

            //下面对数组元素进行循环判断
            for(var n = 0; n < arr.length; n++) {
                //如果元素模2不为0,则是奇数
                if(arr[n] % 2 != 0) {
                    //如果odd变量是null,或者当前元素大于odd
                    //则给odd变量值替换为当前元素
                    if(odd == null || arr[n] > odd) {
                        odd = arr[n];
                    }
                }
                //同理,
                //如果元素模2为0,则是偶数
                if(arr[n] % 2 == 0) {
                    //如果even变量是null,或者当前元素小于even
                    //则给even变量值替换为当前元素
                    if(even == null || arr[n] < even) {
                        even = arr[n];
                    }
                }
            }

            //最后返回结果
            if(odd != null && even != null) {
                return{
                    "maxodd":odd,
                    "mineven":even,
                    "sum" :odd + even
                } 
            } 
            else if(odd == null && even != null){
                return{
                    "maxodd":null,
                    "mineven":even,
                    "sum" : even
                } 
            }
            else if(odd != null && even == null){
                return{
                    "maxodd":odd,
                    "mineven":null,
                    "sum" :odd + even
                } 
            }
            else {
                return null;
            }
        }


        //调用函数
        var arr = [1,3,9,11];
        var result = fun(arr);
        alert("最大奇数为:"+result.maxodd+"\n"+"最小偶数:"+ result.mineven+"\n"+"它们的和为:"+result.sum);
    </script>
</html>
相关标签: 函数