javascript的简单逻辑题目

本文提供了一系列JavaScript编程练习题的解答方案,包括寻找数组中的最大基数和最小偶数、字符串逆序排列、查找数组中第二大的数及判断字符串是否为回文等。通过这些练习题,读者可以更好地理解JavaScript的基本语法和数组操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

方法1:


    function evenOdd(arr){
        var even=[],// 偶数
            odd=[];//基数
        for(var i=0;i<arr.length;i++)
        if(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 a<b?1:-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'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值