JavaScript-day04练习1

1. 定义一个整型数组,求出数组中奇数个数和偶数个数

2. 找出数组中的同时能被2和3整除的数,并求和

3.找出数组var arr = [12,56,25,5,82,51,22]中的最大值和最小值

4. 不需要借助第三个临时变量,实现两个变量的交换;

 5. 比较两个数组内容是否完全一致,如果一致打印true,如果不一致打印false

6.求数组中最大值和第二大值(次大值)。

7.根据正确答案【ADBCD】,每题2分共10分,求出每名学生最终得分。

四名同学答案分别为:

小张:【DCBAD】

小美:【ADBCD】

小丽:【ADBCA】

小好:【ABCDD】

每答对一题,得2分,输出四名同学的最终得分。

 8.请用数组实现:已知歌唱选手的分数为,90,70,80,60,95,85,70,现要求出该选手的最后成绩,计算方式为去掉最高分和最低分再求平均值;

<!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>
        // 1. 定义一个整型数组, 求出数组中奇数个数和偶数个数
        var arr = [11, 52, 73, 44, 15];
        var sun1 = 0;
        var sun2 = 0;
        for (var i = 0; i < arr.length; i++) {
            var num = arr[i];
            if (num % 2 == 0) {
                sun1++;
                console.log(num + "   这是一个偶数");
            } else {
                sun2++;
                console.log(num + "   这是一个奇数");
            }
        }
        console.log("偶数个数为:" + sun1);
        console.log("奇数个数为:" + sun2);



        // ### 2. 找出数组中的同时能被2和3整除的数, 并求和
        var arr = [1, 2, 3, 4, 5, 6];
        var sum = 0;
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 0 && arr[i] % 3 == 0) {
                sum += arr[i];
            }
        }
        console.log(sum);



        //  3. 找出数组var arr = [12, 56, 25, 5, 82, 51, 22] 中的最大值和最小值
        var arr = [12, 56, 25, 5, 82, 51, 22]
        var max = arr[0];
        var min = arr[0];
        for (var i = 0; i < arr.length; i++) {
            if (max < arr[i]) {
                max = arr[i];
            }

            if (min > arr[i]) {
                min = arr[i];
            }
        }

        console.log(max);
        console.log(min);


        // ### 4. 不需要借助第三个临时变量, 实现两个变量的交换;
       
        var a = 1;
        var b = 2;
        a = [a, b];
        b = a[0];
        a = a[1];
        console.log(a, b);


        // 5. 比较两个数组内容是否完全一致, 如果一致打印true, 如果不一致打印false
        var arr1 = [1, 2, 3];
        var arr2 = [1, 2, 3];
        var arrt = 0;

        if (arr1.length !== arr2.length) {
            console.log(false);
        } else {
            for (var i = 0; i < arr1.length; i++) {
                if (arr1[i] !== arr2[i]) {
                    console.log(false);
                    break;
                } else {
                    arrt++;
                }
                if (arrt == arr1.length) {
                    console.log(true);
                }
            }
        }



        // ### 6. 求数组中最大值和第二大值(次大值)。
        var arr = [11, 52, 73, 44, 15];

        for (var j = 0; j < arr.length - 1; j++) {
            // 控制需要比较的大轮次
            for (var i = 0; i < arr.length - j - 1; i++) {
                // 控制每一次参与比较的元素
                if (arr[i] > arr[i + 1]) {
                    // 比较 之后交换位置
                    var temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                    // 解构交换
                }
            }
        }

        console.log(arr[arr.length - 1]);
        console.log(arr[arr.length - 2]);





        // ### 7. 根据正确答案【 ADBCD】, 每题2分共10分, 求出每名学生最终得分。
        // 四名同学答案分别为:
        // 小张:【 DCBAD】
        // 小美:【 ADBCD】
        // 小丽:【 ADBCA】
        // 小好:【 ABCDD】
        // 每答对一题, 得2分, 输出四名同学的最终得分。

        var correctAnswer = ['A', 'D', 'B', 'C', 'D'];
        
        var score = [0, 0, 0, 0];
        var daan = [
            ['D', 'C', 'B', 'A', 'D'],
            ['A', 'D', 'B', 'C', 'D'],
            ['A', 'D', 'B', 'C', 'A'],
            ['A', 'B', 'C', 'D', 'D']
        ];

        
        for (var i = 0; i < daan.length; i++) {
            for (var j = 0; j < daan[i].length; j++) {
                console.log(daan[i][j]);
                if (correctAnswer[j] === daan[i][j]) {
                    score[i] += 2;
                }
            }
        }

        
        console.log(score);



        //  8. 请用数组实现: 已知歌唱选手的分数为, 90, 70, 80, 60, 95, 85, 70, 现要求出该选手的最后成绩, 计算方式为去掉最高分和最低分再求平均值;
        var arr = [90, 70, 80, 60, 95, 85, 70];
        
        for (var j = 0; j < arr.length - 1; j++) {
            // 控制需要比较的大轮次
            for (var i = 0; i < arr.length - j - 1; i++) {
                // 控制每一次参与比较的元素
                if (arr[i] > arr[i + 1]) {
                    // 比较 之后交换位置
                    var temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                    // 解构交换
                }
            }
        }
        console.log(arr);
        var newarr = arr.slice(1, arr.length - 1);
        console.log(newarr);
        var sum = 0;
        for (var i = 0; i < newarr.length; i++) {
            sum += newarr[i];
        }
        console.log(sum / newarr.length);
    </script>
</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值