学习JavaScript基础的练习题

ps:所有答案都是作者这个初学者写的,多多少少有些丑陋了,所以仅供参考.

练习题1:

给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中

<script>
        let arr =[12,0,0,0,0,15,88,0,0,64,0,0,0,41,42]
        let zheng=[]
        for (let i = 0; i < arr.length; i++) {
            if (arr[i]!==0){
             zheng.push(arr[i])
            }
            
        }
        console.log(zheng);
    </script>

练习题2:

使用for循环 - 求出班级里同学们平均年龄[15, 19, 21, 33, 18, 24]

<script>
        let arr = [15, 19, 21, 33, 18, 24]
        let sum = 0
        for (let i = 0; i < arr.length; i++) {
            sum = sum + arr[i]
            pingjun = sum / (arr.length)
        }
        document.write(sum+"<br>")
        document.write(arr.length+"<br>")
        document.write(pingjun)
    </script>

练习题3:

使用for循环 - 求出数组里大于5的i和 [4, 9, 5, 20, 3, 11]

<script>
        let arr = [4, 9, 5, 20, 3, 11]
        let sun = 0
        for (let i = 0; i < arr.length; i++) {
            if (arr[i]>5) {
                sun =sun+arr[i]
            }
        
       }
       document.write(sun)
    </script>

练习题4:

使用for循环 - 求出数组元素的和 [5, 8, 9, 2, 1, 5]

<script>
        let arr = [5, 8, 9, 2, 1, 5]
        let sum = 0
        for (let i = 0; i < arr.length; i++) {
            sum += item
        }
        console.log(sum)
    </script>

练习题5:

找出数组中 元素为10的下标,有则打印该下标,没有则打印-1

  • 例如: [88,20,10,100,50] 打印 2

  • 例如: [88,20,30,100,50] 打印-1

<script>
        let arr = [88, 20, 30, 100, 10]
        let re = -1
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] === 10) {
                re =i
                
            }

        }
        document.write(re)
    </script>

练习题6:

写一个程序,要求如下

  • 需求1:让用户输入五个有效年龄(0-100之间),放入数组中

    • 必须输入五个有效年龄年龄,如果是无效年龄,则不能放入数组中

  • 需求2:打印出所有成年人的年龄 (数组筛选)

  • 需求3:打印出所有人总年龄 (累加)

  • 需求4:打印出所有人的平均年龄 (累加)

  • 需求5:打印出最大年龄和最小年龄 (最大值)

答案 :写的比较丑陋,参考参考就行了

<script>
        let arr = []
        let sum = 0


        let pingjun = 0
        for (let i = 1; arr.length < 5; i++) {
            let e = +prompt(`请输入第${i}个数`);

            if (e > 100 || e < 0) {
                alert('输入错误')
            } else {
                arr.push(e)
            }
        }


        for (let z = 0; z <= arr.length - 1; z++) {
            if (arr[z] >= 18) {
                document.write('成年的有' + arr[z] + '<br>')
            }
            sum = arr[z] + sum
            pingjun = sum / arr.length
        }

        let mix = arr[0]
        let max = arr[0]
        for (let z = 0; z <= arr.length - 1; z++) {
            if (mix > arr[z]) {
                mix = arr[z]

            } else if (max < arr[z]) {
                max = arr[z]
            }
        }




        document.write('总共年龄' + sum + '<br>')
        document.write('平均年龄' + pingjun + '<br>')
        document.write('最小年龄' + mix + '<br>')
        document.write('最大年龄' + max + '<br>')
        console.log(arr);
    </script>

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值