javascript的简单逻辑题目

ps:纯属练习逻辑,项目开发中实际用处不大,老鸟飘过。

题目1:求一个数组的最大ji数和最小偶数,并返回他们的和,如果一个数不存在则返回null。

方法1:


    function evenOdd(arr){
        var even=[],// 偶数
            odd=[];//基数
        for(var i=0;iif(arr[i]%2==0){
            even.push(arr[i]);
        }else{
            odd.push(arr[i]);
        }

        if(even.length==0||odd.length==0){
            console.log('null');
            return null;
        }else{
            even.sort(function(a,b){
                return a-b;
            });
            odd.sort(function(a,b){
                return a-b;
            });
        }

        var maxOdd = odd[odd.length-1];
        var minEven = even[0];

        console.log('最大基数:'+maxOdd);
        console.log('最小偶数:'+minEven);
        console.log('最大基数和最小偶数之和为:'+(maxOdd+minEven));
    }



    evenOdd([])

方法2:

function maxOddMinEven(arguments){
            var odd = [],
                even = [];
            for(var i = 0; i < arguments.length; i++){
                if(parseInt(arguments[i]) == arguments[i]){ //如果是整数
                    if(arguments[i] % 2) {
                        odd.push(arguments[i]);
                    }else{
                        even.push(arguments[i])
                    }
                }
            }
            odd.sort(function(a,b){return a>b?1:-1}
                    ); //升序排序
            even.sort(function(a,b){return a1:-1}); //降序排序
            console.log(odd[0],even[0]);

            if(odd && even){
                return odd[0] + even[0];
            }else{
                return null;
            }
        }
console.log(maxOddMinEven([1,2,3,4,5,6,7,8,9]))

题目2:字符串逆序排列

    function reverseStr(str){
        var str1=str.split('').reverse().join('');
        console.log(str1);
    }

   reverseStr('1 ab cd');

题目三:数组中第二大的数

思路:

function secondMax(arr){
    arr.sort(function(a,b){
        return a-b;
    });

    var len=arr.length,
        last=arr[len-1];

    for(var i=len-2;i>=0;i--){
        console.log(arr[i])
        if(arr[i]!=last){
            console.log('第二大的数字为:'+arr[i]);
            return arr[i];
        }
    }
}
    secondMax([9,0,99,100])

判断回文:

        //判断回文  abccba
         function checkHw(num){
             var Xnum=num.toString();
             for(var i=0;len=Xnum.length,i<(len-1)/2;i++){
                 if(Xnum.charAt(i)==Xnum.charAt(len-1-i)){
                     return num+'是回文';
                 }else{
                     return num+'不是回文';
                 }
             }
         }

       console.log( checkHw('abccba'))

你可能感兴趣的:(javascript的简单逻辑题目)